10. august 2010 - 14:31Der er
5 kommentarer og 1 løsning
Hente kunder der IKKE har handlet efter en skærings dato
Hej Eksperter
Jeg bruger følgende SQL streng til at hente kunder der har handlet inden for ex. de seneste 2 år.
SELECT DISTINCT c5salg.kunde, c5kunder.navn, c5kunder.adr1, c5kunder.adr2, c5kunder.bostby FROM (c5salg LEFT JOIN c5kunder ON c5salg.kunde=c5kunder.konto) WHERE c5salg.dato>'2007-01-01' ORDER BY c5salg.dato DESC
Hvordan laver jeg queryen om så jeg kun får de poster ud der IKKE har handlet efter denne dato?
Jeg kan naturligvis loope alle rækker igennem og teste på datoen, men det ville da være noget nemmere at kunne gøre det i en sætning.
Jeg lavede en mini-database med to tabeller, groyk_salg med felterne kunde og dato, og groyk_kunder med felterne navn og konto. Der virker denne query:
SELECT DISTINCT s.kunde, k.navn FROM groyk_salg s LEFT JOIN groyk_kunder k ON s.kunde = k.konto WHERE s.kunde NOT IN(SELECT kunde FROM groyk_salg WHERE dato > '2007-01-01');
j3ppah, dit indlaeg kom mens jeg arbejdede paa mit. Jeg vil gaette paa at det ikke svarer til kravet. Du faar alle kunder der har gjort handel foer denne dag uanset om de har gjort handel efter denne dag. Jeg forstod at kravet var at kun at finde de kunder der ingen handel har gjort efter den paagaeldende dag.
Det er dog uhyre vigtigt at have index på relevante kolonner, ellers står det hele bare stille.
Takker for hjælpen.
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.