Avatar billede the_raze Nybegynder
08. januar 2007 - 09:10 Der er 7 kommentarer og
1 løsning

Udtræk af elementer fra en tabel, som IKKE er i den anden

Hejsa,

Jeg har 2 tabeller (projekter og tidsregistrering), begge indeholdende p_id. Jeg vil gerne lave et udtræk fra projekter-tabellen, af de poster med p_id, som IKKE er i tidsregistrering.

Jeg har prøvet at anvende følgende:
SELECT p.p_id FROM projekter p, tidsregistrering t WHERE p.p_id != t.p_id

Den hiver også de rigtige p.p_id's ud, men tilgengæld viser den hver enkelt 8 gange (som er antallet af poster i tidsregistrerings-tabellen).

Hvad har jeg gjort forkert?

På forhånd tusind tak!
Avatar billede jensgram Nybegynder
08. januar 2007 - 09:12 #1
Hvis du vil undgå dupletter:

SELECT DISTINCT p.p_id FROM projekter p, tidsregistrering t WHERE p.p_id != t.p_id
Avatar billede kinderaeg Nybegynder
08. januar 2007 - 09:13 #2
SELECT DISTINCT p.p_id...

Så viser den kun forskellige p_id'er
Avatar billede kinderaeg Nybegynder
08. januar 2007 - 09:14 #3
Øv, for langsom
Avatar billede jensgram Nybegynder
08. januar 2007 - 09:14 #4
Ellers kunne man vel

SELECT (SELECT p_id FROM projekter) EXCEPT (SELECT p_id FORM tidsregistrering)
Avatar billede the_raze Nybegynder
08. januar 2007 - 09:22 #5
Hmm.. Mig der så forkert i min select streng.. Der viser den faktisk ALLE de p_id som ligger. Virker som om p.p_id != t.p_id ikke har nogen effekt.

Så derfor kan jeg heller ikke bruge distinct :/

SELECT (SELECT p_id FROM projekter) EXCEPT (SELECT p_id FORM tidsregistrering) kan jeg ikke få til at virke? Giver mig en sql fejl når jeg prøver den i PHPMyAdmin
Avatar billede fsconsult.dk Nybegynder
08. januar 2007 - 09:26 #6
SELECT * FROM projekter
WHERE NOT p_id IN
(SELECT p_id FORM tidsregistrering)
Avatar billede the_raze Nybegynder
08. januar 2007 - 09:29 #7
Det så ud til at virke! :) Smid et svar fsconsult.dk - så er pointene dine! Og tusind tusind tak til jer andre, for jeres tid og hjælp :)
Avatar billede fsconsult.dk Nybegynder
08. januar 2007 - 10:08 #8
oki  ;-)
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