Avatar billede phliplip Nybegynder
16. februar 2006 - 14:45 Der er 6 kommentarer og
1 løsning

SQL: SELECT dem som ikke er i filter tabellen

Hej Exp!

Skal bruge en SQL-query der vælger alle i rows i min country-tabel undtagen dem som findes i partner_filter tabellen

SELECT country.id, country.name FROM country LEFT JOIN partner_filter ON country.id!=partner_filter.country_id WHERE partner_filter.partner_id='".$_SESSION['puser']['id']."' ORDER BY country.name ASC

Virker som sådan også fint nok men der kommer bare en masse dupletter :S Altså hvis jeg har 6 lande der er filtreret ud, så vil alle de lande som ikke er filtreret ud blive vist 6 gange !-(

Har prøvet SELECT DISTINCT men det gav ikke noget godt resultat.. nogen der lige kan gennemskue det?
Avatar billede arne_v Ekspert
16. februar 2006 - 15:37 #1
man kan ikke joine paa den maade

nyere MySQL:

SELECT country.id, country.name FROM country WHERE country.id NOT IN
(SELECT partner_filter.country_id FROM partner_filter WHERE partner_filter.partner_id='".$_SESSION['puser']['id']."') ORDER BY country.name ASC

gammel MySQL:

SELECT country.id, country.name FROM country LEFT JOIN partner_filter ON country.id=partner_filter.country_id WHERE partner_filter.country_id IS NULL AND
partner_filter.partner_id='".$_SESSION['puser']['id']."' ORDER BY country.name ASC
Avatar billede phliplip Nybegynder
16. februar 2006 - 15:42 #2
Nå ok..

går ud fra at MySQL 4.1.12 er det du definerer som nyere ;)

Men tak det virker perfekt :P Smid svar!
Avatar billede arne_v Ekspert
16. februar 2006 - 15:47 #3
i dennne kontekst er 3.23 og 4.0 gammel mens 4.1 og 5.0 er nyere

svar
Avatar billede phliplip Nybegynder
21. februar 2006 - 10:48 #4
Må jeg stille et tillægs spørgsmål ?
Avatar billede arne_v Ekspert
21. februar 2006 - 18:30 #5
ja da
Avatar billede phliplip Nybegynder
21. februar 2006 - 20:57 #6
Fandt ud af det ;) Men damn den er avanceret efterhånden :P

hehe.. men den virker og det er vigtigst
Avatar billede phliplip Nybegynder
24. februar 2006 - 12:49 #7
Kig.. kig nu.. KIG : http://www.eksperten.dk/spm/690286

:P
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