Demos skrev:
> Jeg vil gerne vide, hvordan man kan finde forskellen mellem to
> resultatsæt (en mængde af rækker) ved at sammenligne en
> kolonne fra hver af sættene og returnerer de indgange, der
> findes i den ene men ikke i den anden.
Der er flere muligheder. Hvis databasen understøtter subselects kan
man skrive:
SELECT <felter>
FROM tabel1 t
WHERE NOT EXISTS (
SELECT 'x'
FROM tabel2
WHERE idfelt = t.idfelt
)
Nogle databaser understøtter ikke EXISTS-operatoren men derimod IN.
Her kan man skrive:
SELECT <felter>
FROM tabel1 t
WHERE NOT idfelt NOT IN (
SELECT idfelt
FROM tabel2
)
Uden et subselect kan man benytte OUTER JOIN:
SELECT <felter>
FROM tabel1 t1 LEFT OUTER JOIN tabel2 t2
ON t1.idfelt = t2.idfelt
WHERE t2.idfelt IS NULL
--
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)