Kasper Kamp Simonsen skrev:
> Og det virkede :) ... men hvorfor???
Fordi sådan er syntaksen ;)
>> FROM Tabel1 t1 INNER JOIN Tabel2 t2
>
> Hvad betyder Tabel1 t1?
t1 er bare et alias for Tabel1.
I stedet for at skrive:
SELECT langttabelnavn.navn,
langttabelnavn.nummer,
langttabelnavn.tekst,
andetlangttabelnavn.kode
FROM langttabelnavn INNER JOIN andetlangttabelnavn
ON langttabelnavn.idfelt = andetlangttabelnavn.idfelt
- kan man indføre et alias for en eller flere tabeller:
SELECT l.navn, l.nummer, l.tekst, a.kode
FROM langttabelnavn l INNER JOIN andetlangttabelnavn a
ON l.idfelt = a.idfelt
Mht. FROM - så er det en måde at få en handlingsforespørgsel
(INSERT/UPDATE/DELETE) til at arbejde med flere tabeller. Det er
stadig kun én tabel der er målet for handlingsforespørgslen, men
flere tabeler kan indgå under FROM.
Eksempler:
(INSERT er triviel, fordi kilden til en INSERT er en normal SELECT-
forespørgsel)
UPDATE t
SET t.pris = x.pris
FROM tabelnavn t INNER JOIN tabel2 x
ON t.id = x.id
(svarende til dit spørgsmål)
DELETE FROM t
FROM tabelnavn t INNER JOIN tabel2 x
ON t.id = x.id
(sletter alle rækker i t der har matchende rækker i x)
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO -
www.fiduso.dk)
I ovenstående tekst benyttes nyt komma
(rettelser modtages gerne i dk.kultur.sprog)