Avatar billede nemlig Professor
15. januar 2013 - 20:44 Der er 7 kommentarer og
1 løsning

Brug af INNER JOIN

Hejsa.
Jeg har fx denne forespørgsel:

SELECT f.*, k.dato, k.id `faktura` f INNER JOIN `kalender` k ON f.xid = k.xid WHERE f.fakturanr = > 100

I begge tabeller har jeg et felt, der hedder `id`

Jeg henter alle felter i `faktura` med "f.*", herunder `id` og jeg henter `id` fra `kalender`.

Hvordan kan jeg efterfølgende adskille de 2 x `id`?

Den ene viser jeg med $row['id'], men hvad med den anden?
Avatar billede arne_v Ekspert
15. januar 2013 - 20:49 #1
SELECT t1.foo AS foo1,t2.foo AS foo2 FROM t1 JOIN t2 ON t1.bar=t2.bar

og referer som $row['foo1'] og $row['foo2']
Avatar billede nemlig Professor
15. januar 2013 - 20:55 #2
Mange tak Arne. Det var lige svaret, jeg ønskede.
Smid venligst et svar ;)
Avatar billede nemlig Professor
15. januar 2013 - 21:00 #3
Ahhrg - jeg er ikke helt på plads, da jeg i mit eksempel tager afsæt i, at jeg henter alle felter i den ene tabel med f.*.

Er det noget med

f.*,f.id AS id1, k.id AS id2
Avatar billede nemlig Professor
15. januar 2013 - 21:10 #4
Det lader til at virke.
Avatar billede arne_v Ekspert
15. januar 2013 - 21:15 #5
svar
Avatar billede arne_v Ekspert
15. januar 2013 - 21:16 #6
Jeg ville undgaa * og angive de felter som du skal bruge
Avatar billede nemlig Professor
15. januar 2013 - 21:32 #7
#6 Er det af hensyn til performance?
Avatar billede arne_v Ekspert
15. januar 2013 - 21:44 #8
1) du sparer at flytte data for de felter som du ikke skal bruge

2) du undgaar nogle spoejse fejl hvis du senere tilfoejer felter i en tabel
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester