Avatar billede Spotgun Seniormester
14. juli 2001 - 01:23 Der er 21 kommentarer og
2 løsninger

To count\'s i en sql?

Er det muligt at tælle værdier sammen fra to tabeller i en sql-sætning?

Jeg har de to tabeller \"news\" og \"comments\" hvor jeg skal tælle hvor mange poster der findes med userID = 3.

Sådan som det kører nu, har jeg en sql-sætning til hver tabel, men jeg overvejede om det var muligt at tælle begge værdier op (selvom de ikke er lige store) vha en enkelt sql-sætning?

Anyone?

/Spotgun
Avatar billede tdaugaard Nybegynder
14. juli 2001 - 01:25 #1
Jeg er ikke sikker, men prøv:

SELECT COUNT(tabel1.userID), COUNT(tabel2.userID) FROM tabel1,tabel2;
Avatar billede tdaugaard Nybegynder
14. juli 2001 - 01:27 #2
Jo, det kan man godt :-)
Avatar billede tdaugaard Nybegynder
14. juli 2001 - 01:27 #3
næææ .. vent ..
Avatar billede tdaugaard Nybegynder
14. juli 2001 - 01:28 #4
Nopes.. sorry .. jeg tog fejl :-(
Avatar billede Spotgun Seniormester
14. juli 2001 - 01:31 #5
har lige testet den... Får 2 x 2700 poster. Godt klaret når det ikke burde være mere end 40 :-)

Andre forslag?
Avatar billede jasp.dk Nybegynder
14. juli 2001 - 01:33 #6
SELECT Sum(Comments.UserId) AS SumUserComments, Sum(news.UserId) AS SumUserNews
FROM Comments INNER JOIN News ON Comments.UserId = News.UserID where news.UserId=3;
Avatar billede tdaugaard Nybegynder
14. juli 2001 - 01:34 #7
spotgun:> prøvede lige selv og fik 24, 24 men der er 3 i den ene og 24 i den anden :-(
Avatar billede jasp.dk Nybegynder
14. juli 2001 - 01:34 #8
Den skal nok lige forfindes lidt :-)
Avatar billede tdaugaard Nybegynder
14. juli 2001 - 01:35 #9
jasp.dk:> narj narj .. han ville TÆLLE dem .. ikke have summen af dem ..
Avatar billede jasp.dk Nybegynder
14. juli 2001 - 01:35 #10
nåe, var lige lidt hurtig :-)
Avatar billede jakobandersen Nybegynder
14. juli 2001 - 01:35 #11
SELECT  (SELECT Count(*) FROM news WHERE userID = 3) + (SELECT Count(*) FROM comments WHERE userID = 3)
Avatar billede tdaugaard Nybegynder
14. juli 2001 - 01:36 #12
Skal lige siges at det ikke er alle database typer der har support for sub-selects
Avatar billede jakobandersen Nybegynder
14. juli 2001 - 01:37 #13
Nej, men hvis man ikke har en database der kan det skulle man måske overvej at skifte......
Avatar billede jakobandersen Nybegynder
14. juli 2001 - 01:37 #14
F.eks. PostgreSQL er et dejligt værktøj
Avatar billede Spotgun Seniormester
14. juli 2001 - 01:39 #15
Moonduck: Testede din i access og får følgende svar:

Reserveret fejl (-3025). Der er ingen meddelelse til denne fejl.

Hurrah for microsoft
Avatar billede tdaugaard Nybegynder
14. juli 2001 - 01:42 #16
moonduck:> Hvorfor dog det ? Jeg har HØRT at mySQL ikke gør ... men den er der sku mange der bruger ..
Avatar billede jakobandersen Nybegynder
14. juli 2001 - 01:42 #17
Access burde undersøtte det, MS SQL gør..
Avatar billede jakobandersen Nybegynder
14. juli 2001 - 01:44 #18
tdaugaard>> mySQL understøtter ikke særlig meget og får desuden hurtigt hastighedsproblemer ved store datamængder.
Avatar billede ellebaek Nybegynder
14. juli 2001 - 12:57 #19
*lål*

daugaard :-))
Avatar billede Spotgun Seniormester
14. juli 2001 - 14:20 #20
daugaard og moonduck... i får sgu point til deling som tak for hjælpen
Avatar billede Spotgun Seniormester
14. juli 2001 - 14:20 #21
daugaard og moonduck... i får sgu points til deling som tak for hjælpen... man kan vist ikke helt alligevel...
Avatar billede jakobandersen Nybegynder
14. juli 2001 - 15:25 #22
Min løsning virker fremragende på både MS SQL og PostgreSQL.
Avatar billede Spotgun Seniormester
15. juli 2001 - 15:34 #23
okay... den virker desværre ikke med Access... og det er det jeg skal bruge, men tak for hjælpen alligevel
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
Kurser inden for grundlæggende programmering

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