Avatar billede trp79 Nybegynder
18. december 2004 - 11:22 Der er 4 kommentarer og
1 løsning

Hjælp til forespørgsel - med dobbelt modsigelse

Hejsa

Hvis man nu har disse tabeller:
Kamp:
kSted, kStartTid, kSlutTid, kDato, kRegion...(kSted + kStartTid=PK)

Dommer:
dNavn, dRegion,...(dNavn + dRegion=PK)

Kamp-Dommer:
kStedFK, kStartTidFK, dNavnFK, dRegionFK

Hvordan finder jeg så de dommere, der dømte samtlige kampe en give dato i deres region?

Jeg har forsøgt med:
SELECT dNavnFK
  FROM Kamp-Dommer, Dommer
  WHERE dRegionFK = dRegion
  AND
  NOT EXISTS (SELECT *
                    FROM Kamp
                    WHERE kDato<>DATE('01/08/2004') )

Men det giver et tomt resultat :(
Håber nogen kan se, hvad jeg gør forkert.
På forhånd tak, mvh
Torben
Avatar billede atke Nybegynder
18. december 2004 - 16:06 #1
- et bud...

SELECT DISTINCT
  Dommer.dNavn
FROM
  Kamp JOIN
  Kamp-Dommer ON
    Kamp.kDato = @selectedDate AND
    Kamp.kSted = Kamp-Dommer.kStedFK AND
    Kamp.kStartTid = Kamp-Dommer.kStartTidFK

Det er lidt noget bøvl med dine sammensatte primærnøgler.
Avatar billede trp79 Nybegynder
18. december 2004 - 16:18 #2
Hej atke. Tak for budet :)
Men dit forslag - vil det ikke blot give en liste over alle dommere, der har dømt en given dag? og ikke en liste over de dommere, der har dømt alle kampe en given dag...
Avatar billede arne_v Ekspert
18. december 2004 - 20:35 #3
Prøv:

SELECT dNavn
FROM Dommer d
WHERE
EXISTS (SELECT * FROM Kamp-Dommer kd WHERE kd.dNavnFK=d.dNavn AND kd.dRegionFK=d.dRegion AND kd.kSTartTidFK=X)
AND
NOT EXISTS (SELECT * FROM Kamp-Dommer kd WHERE kd.dNavnFK<>d.dNavn AND kd.dRegionFK=d.dRegion AND kd.kSTartTidFK=X)
Avatar billede trp79 Nybegynder
19. december 2004 - 14:50 #4
Det er super Arne, smid du bare et svar :)
Dog skulle der bruges <> i sidste select sætning i stedet for =.

Mange tak for hjælpen, mvh
Torben
Avatar billede arne_v Ekspert
19. december 2004 - 14:54 #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
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