Avatar billede schaefner Juniormester
01. juli 2003 - 23:55 Der er 5 kommentarer og
1 løsning

Udtræk på tværs af tabeller.

Hejsa Eksperter.

Hvis jeg nu har to tabeller:

TabelNavn: personer
id | hold_id

og

TabelNavn: hold
id | titel | antal

Jeg skal have udtrukket alle de rækker fra tabellen 'hold' som har under det antal tilmeldinger som er angivet i kolonnen 'antal'.

Det er vidst nemmere med et eksempel.

Så hvis nu der er 15 tilmeldinger i tabellen 'personer' til det samme hold, og der i tabellen 'hold' i kolonnen antal er angivet 15, så skal det hold ikke udskrives.

Håber det er til at forstår, da der ufattelig svært at forklare :)

mvh. Jesper Sørensen
Avatar billede eagleeye Praktikant
02. juli 2003 - 00:20 #1
Prøv med dette:

SELECT hold.titel, hold.antal
FROM hold LEFT JOIN personer ON hold.id = personer.hold_id
GROUP BY hold.titel, hold.antal
HAVING hold.antal>Count(personer.hold_id);
Avatar billede jakobandersen Nybegynder
02. juli 2003 - 00:31 #2
SELECT
      h.titel, h.antal
FROM
      hold h INNER JOIN personer p ON h.id = p.hold_id
GROUP BY
      h.titel, h.antal
HAVING
      COUNT(p.hold_id) > h.antal
Avatar billede jakobandersen Nybegynder
02. juli 2003 - 00:32 #3
Nå, jeg var så for langsom og så fik jeg enda vendt min HAVING sætning omvendt :)
Avatar billede schaefner Juniormester
02. juli 2003 - 00:33 #4
eagleeye >> Det er jo smukt. Så mangler vi bare et smukt svar :)

Takker
Avatar billede eagleeye Praktikant
02. juli 2003 - 00:33 #5
Ok her et svar ;)
Avatar billede schaefner Juniormester
02. juli 2003 - 00:35 #6
Takker endnu engang. Må få banket lidt om JOIN ind i den grå massse på toppen.
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