09. november 2005 - 16:56Der er
7 kommentarer og 1 løsning
Omvendt forespørgsel
Hej eksperter
Jeg har et spørgsmål omkring en forespørgsel hvor jeg søger på et kriterie der "ikke findes". Jeg har en simpel medarbejder DB der indeholder en tabel over medarbejderinformationer og en tabel og uddannelser gennemgået (i denne tabel oprettes en post for hver gang en uddannelse gennemgås af en medarbejder). De to tabeller er knyttet på initialer.
Hvordan konstruerer jeg en forespørgsel hvor jeg vil have initialerne på de medarbejdere der IKKE har modtaget en bestemt uddannelse.
Jeg er ikke sikker på at det er det du søger. Jeg vil nok bruge en Subquery
SELECT Medarbejder.MedarbejderNavn FROM Medarbejder WHERE Medarbejder.MedarbejderInitialer NOT IN (SELECT Uddannelse.MedarbejderInitialer FROM Uddannelse WHERE Uddannelse.UddannelseID = 3);
PS: Hvis du vil have en liste med dem der HAR taget en uddannelse skal du ikke bruge subqueries, for de er lidt for tunge. Brug dette:
SELECT Medarbejder.MedarbejderNavn FROM Medarbejder INNER JOIN Uddannelse ON Medarbejder.MedarbejderInitialer = Uddannelse.MedarbejderInitialer WHERE Uddannelse.UddannelseID = 3;
Du knytter dem sammen via initialer. Du bør knytte dem sammen via Medarbejder-tabellens primærnøgle, er det initialer?
Ja tabellerne er relateret via primærnøgler, i medarbejdertabellen er det initialer der er primærnøgle.
Synes godt om
Ny brugerNybegynder
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.