Avatar billede deepcore Nybegynder
08. april 2005 - 11:15 Der er 2 kommentarer og
1 løsning

selecte alle funktioner der ikke er associeret med 1 given person

Jeg har tre tabeller:

person, funktion og pers_funk.

Det skal forstås således at en person kan have flere funktioner, hvorfor pers_funk er en associationsklasse der indeholder primærnøgler til person og funktion.

person primærnøgle: personId
funktion primærnøgle: funktionsId
persfunk fremmednøgler: personId, funktionsId.

jeg kan nu saktens associere personer med funktioner og hente alle de funktioner en person har med kaldet:

SELECT funktionsId FROM person, funktion, pers_funk WHERE person.id=pers_funk.personId AND pers_funk.funktionsId=funktion.funktionsId AND personId='1';

Ingen problemer her... men hvordan laver jeg et kald der giver mig alle de funktioner der IKKE er associeret med person 1?
Avatar billede a1a1 Novice
08. april 2005 - 11:25 #1
SELECT funktionsId FROM funktion WHERE funktionsId NOT IN (SELECT funktionsId FROM person, funktion, pers_funk WHERE person.id=pers_funk.personId AND pers_funk.funktionsId=funktion.funktionsId AND personId='1';)

;o)
Avatar billede deepcore Nybegynder
08. april 2005 - 11:56 #2
aaaah... man skulle bruge subselects... havde tænkt tanken men skrev != istedet for NOT IN ... nå, pyt.. man skal jo lære det skidt.

tak for hjælpen!!!
Avatar billede a1a1 Novice
08. april 2005 - 12:01 #3
selv tak

;o)
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