hvordan laver man SQL strengen til INNER JOINS her?

Tags:    mysql php sql

Hej.

Jeg ville bare høre, om nogle kunne hjælpe mig med, hvordan man laver en SQL sætning til det her.

Jeg har en tabel, som indeholder nogle navne på spil firmaer. Jeg skal både have spil udvikleren og spil udgiveren ud, men det hele skal helst komme fra samme tabel.

Min SQL ser sådan her ud, når jeg skal indsætte, men det burde virke:
Fold kodeboks ind/udPHP kode 


Problemet er, når jeg skal trække det ud. Dér har jeg en SQL, som ser sådan her ud:
Fold kodeboks ind/udPHP kode 


Jeg er nemlig lidt i tvivl om der vil ske en konflikt, hvis der er 2 referencer til det samme felt, men med hver deres ID.

På forhånd tak for hjælpen.



Indlæg senest redigeret d. 08.11.2013 15:34 af Bruger #14776
4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Sjovt. Jeg har lige haft samme problem, men du skal bare navngivne tabellerne forskelligt når du joiner dem.

Her er mit eksempel:
Fold kodeboks ind/udSQL kode 

Du kan se i mine join commands, jeg har har tilføjet t1 og t2 efter navnet på tabellen, det er sådan man angiver et nyt navn til tabellerne.
Oppe i min select, har jeg så valgt t1.name som home_team, og t2. som away_team

Outputtet bliver sådan her:
Fold kodeboks ind/udKode 




Er ikke helt med på hvad du mener med 2 referencer til det samme felt.

Når du bruger en GROUP BY kan du kun SELECTe ting du grupperer på samt aggregeringer så ovenstående burde ikke virke. Så du skal enten droppe GROUP BY (det nemmeste, og siden du kun grupperer på en enkelt kolonne som er en id kan du fjerne den), eller smide alle de kolonner du selecter på med i group by'en.



Det jeg mener er, at jeg har en tabel, som indeholder alle de spil udviklere/spil udgivere, som jeg gerne vil bruge, men vil linke til dem hver for sig med hver deres foreign key.

Altså, så jeg kan lave en variabel, som hedder $spil_udgiver og en variabel som hedder $spil_udvikler. Men de har den samme tabel, som de henter navnet fra.



Sjovt. Jeg har lige haft samme problem, men du skal bare navngivne tabellerne forskelligt når du joiner dem.

Her er mit eksempel:
Fold kodeboks ind/udSQL kode 

Du kan se i mine join commands, jeg har har tilføjet t1 og t2 efter navnet på tabellen, det er sådan man angiver et nyt navn til tabellerne.
Oppe i min select, har jeg så valgt t1.name som home_team, og t2. som away_team

Outputtet bliver sådan her:
Fold kodeboks ind/udKode 


Ahh, fedt. Det giver mening :). Tak for det.



t