Avatar billede dotdonk Nybegynder
09. august 2006 - 11:26 Der er 1 kommentar og
1 løsning

Select Count fra flere tabeller

Hej med jer...

Jeg har et lille problem, i min SQL query, hvor jeg prøver på at tælle antal stillinger og uddannelser for en given bruger.

Nedenstående er tabeller som jeg ønsker at tælle fra:

Positions og Educations

---------------------------------------

Data struktur i Users tabellen (Unikt bruger ID):

ID  Brugernavn
1    niels
2    poul
3    jens
4    karsten

---------------------------------------

Data struktur i Position tabellen (tælle antal stillinger for en given bruger):

ID  UserID  Position
1      1        .NET developer
2      1        JAVA developer

---------------------------------------

Data struktur i Education tabellen (tælle antal uddannelser for en given bruger):

ID  UserID  Education
1          1    Cand. IT
2          1    HF

---------------------------------------

Min SQL sætning som jeg hidtil har lavet returnere ikke de korekte tal

---------------------------------------

SELECT u.ID,
  Positions = COUNT(pu.UserID),
  Educations = COUNT(eu.UserID)


FROM Users AS u

JOIN PositionUser pu ON pu.UserID = u.ID
JOIN EducationUser eu ON eu.UserID = pu.UserID

WHERE u.ID = @UserID

GROUP BY u.ID

---------------------------------------

Håber at høre fra nogen

Mvh

dotdonk
Avatar billede teepee Nybegynder
09. august 2006 - 12:09 #1
Skal det være i samme række?

Hvad med noget inline select

select u.id, (select count(*) from PoisitionUser where userId = u.id) As Count1,
(select count(*) from EducationUser where userId = u.id) As Count2
from users u
Avatar billede dotdonk Nybegynder
09. august 2006 - 12:51 #2
Hep hey...

Bullseye!!!!!

Offcourse teepee!

Thanks for the sql.

Greetings
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