Avatar billede dax Nybegynder
09. juli 2005 - 22:08 Der er 4 kommentarer og
1 løsning

SQL med En-til-mange relation

Jeg har to tabeller

1: Kunder
  id og kundeinformation

2: Salg
  id, dato, og de specikfikationer som kunden ønsker

En kunde kan købe mange produkter, på forskellige tidspunkter derfor en til mange relation

Eks på en kunde der har købt noget i år:
1: Kunder
    5, Peter, jensen,
2: Salg
    5, 10-25-2004, A
    5, 10-25-2003, A
    5, 10-25-2005, A

Det jeg mangler nu er en liste af kunder der ikke har købt et bestemt produkt i år.

Mit problem er at hvis jeg laver et forespørgsel på at vise alle dem der har "dato < år 2005" så får jeg også de kunder der har en dato = 2005 fordi de har jo købt noget sidste år.

Hjææælp
Avatar billede riversen Nybegynder
09. juli 2005 - 22:11 #1
SELECT *.kunder FROM kunder, salg WHERE count(salg.*) = 0 AND kunder.id = salg.id

noget i den dur. Har ikke testet.
Avatar billede nielle Nybegynder
09. juli 2005 - 22:16 #2
SELECT * FROM kunder where id NOT IN (SELECT k.id FROM kunder AS k, salg AS s WHERE k.id=s.id AND year(dato)=2005)
Avatar billede nielle Nybegynder
09. juli 2005 - 22:18 #3
Altså noget med først at lave et udtræk af alle de kunder som har købt i år, og derefter lave et udtræk af alle de kunder som ikke er med der.
Avatar billede dax Nybegynder
09. juli 2005 - 22:26 #4
Tak til jer begge to

Nielles løsning er det jeg har brug for....

Kan du lave et svar, så får du pointene?
Avatar billede nielle Nybegynder
09. juli 2005 - 22:35 #5
Svar :^)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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