Avatar billede lakridsdk Nybegynder
30. april 2006 - 13:59 Der er 8 kommentarer og
1 løsning

Join to tables og count

Jeg har to databaser, der eksempelvis ser sådan ud:

http://peecee.dk/?id=37495&noresize=yes

Så er min opgave at der skal komme et resultat ud af det, der er således:

Først tager jeg "Tabel1.navn", fx Martin, og så skal der tælles, hvor mange gange han står i Tabel2. Dvs det skal ende sådan her:

Martin - 0
Erik - 0
Hans - 0
Grethe - 2
Olaf - 4
Mikkel - 6

... osv ...

Hvordan kan det lade sig gøre med noget Join? Det er i ASP, og jeg kan godt lave det med 2 loops, men vil have det som et join.
Avatar billede erikjacobsen Ekspert
30. april 2006 - 14:11 #1
select tabel1.navn,count(*) as antal from tabel1 left join tabel2 on tabel1.navn=tabel12.navn group by tabel1.navn
// utestet
Avatar billede erikjacobsen Ekspert
30. april 2006 - 14:11 #2
Skal vist lige være
select tabel1.navn,count(tabel2.navn) as antal from tabel1 left join tabel2 on tabel1.navn=tabel12.navn group by tabel1.navn
Avatar billede lakridsdk Nybegynder
30. april 2006 - 14:57 #3
Ja det virker jo fint, hvad så hvis jeg vil sortere efter det count der? Altså så dem med flest indlæg i tabel2 kommer først?
Avatar billede erikjacobsen Ekspert
30. april 2006 - 14:59 #4
Enten
select tabel1.navn,count(tabel2.navn) as antal from tabel1 left join tabel2 on tabel1.navn=tabel12.navn group by tabel1.navn order by antal desc
eller
select tabel1.navn,count(tabel2.navn) as antal from tabel1 left join tabel2 on tabel1.navn=tabel12.navn group by tabel1.navn order by count(tabel1.navn) desc
Avatar billede lakridsdk Nybegynder
30. april 2006 - 18:36 #5
Jo tak, smid et svar så får du points
Avatar billede lakridsdk Nybegynder
30. april 2006 - 18:47 #6
Forresten... Hvor skal jeg smide et where ind? Jeg kan simpelthen ikke finde ud af det.. Altså hvor jeg skal sætte where EtEllerAndet = 'hej'
Avatar billede erikjacobsen Ekspert
30. april 2006 - 19:59 #7
select tabel1.navn,count(tabel2.navn) as antal from tabel1 left join tabel2 on tabel1.navn=tabel12.navn where juleaften=nytaarsdag group by tabel1.navn order by count(tabel1.navn) desc
Avatar billede erikjacobsen Ekspert
30. april 2006 - 19:59 #8
Jeg samler slet ikke på point, tak. Svar selv, accepter eget svar.
Avatar billede lakridsdk Nybegynder
06. juni 2006 - 19:52 #9
Okay tusinde tak :)
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