Magnus skrev:
> SQL = "SELECT id, kampdato, id, mal FROM Tabel1, Tabel2,
> Tabel3 WHERE id=id
> Skal alle navne på felter i de tabeller man vil trække info
> fra være forskellige
Alle feltnavne i en sql-forespørgsel skal være unikke - men det
betyder ikke at man ikke har mulighed for at trække felter med
enslydende navne ud fra flere tabeller. Man skal blot benytte alias
eller kvalificerede navne (i nogle tilfælde begge dele)
> eller kan man definere (som ovenover her)
> hvilkent id felt der er fra hvilken tabel...?
Din sql-sætning specificerer netop ikke hvor de forskellige id-
felter kommer fra.
Du kan i stedet skrive:
SELECT t1.id, kampdato, mal
FROM Tabel1 t1 INNER JOIN Tabel2 t2
ON t1.id = t2.id
INNER JOIN Tabel3 t3
ON t1.id = t3.id
Jespers udgave - hvor joinkriterierne skrives som en WHERE-klausul
- kan også bruges. Jeg foretrækker dog at man holder join-kriterier
for sig.
I eksemplet herover er der ikke grund til at trække id-feltet ud
fra mere end én tabel - join-udtrykket sikrer jo at værdien vil
være den samme i alle tre tabeller. Men hvis man har brug for at
trække flere felter ud med samme navn kan man benytte alias:
SELECT t1.id AS t1ID, t2.id AS t2ID, t3.id AS t3ID
FROM Tabel1 t1 INNER JOIN Tabel2 t2
ON t1.id = t2.id
INNER JOIN Tabel3 t3
ON t1.id = t3.id
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html