Avatar billede webhelpers Praktikant
12. september 2007 - 13:26 Der er 9 kommentarer

Kender I den rette SQL?

Hej

Jeg er tvivl om en sql-sætning jeg skal lave.
Jeg har en tabel med debatter og en tabel med indlæg.

Det, jeg ønsker at udtrække, er en sum på antal indlæg hvor en bestemt bruger deltager. Altså, hvis der er 23 indlæg i en debat, og pågældende bruger har lavet mindst 1 indlæg, så skal den tælle 23 og lægge sammen med total indlæg fra alle de debatter, hvor brugeren også har lavet mindst 1 indlæg.

Giver det mening?
Avatar billede majbom Novice
12. september 2007 - 13:33 #1
du vil have at vide hvor mange debatter brugeren har deltaget i?
Avatar billede webhelpers Praktikant
12. september 2007 - 13:33 #2
Nej, jeg vil have en sum af indlæg i de debatter, hvor brugeren har deltaget
Avatar billede majbom Novice
12. september 2007 - 13:40 #3
så hvis han har været med i 2 debatter:
1 med 13 indlæg og 1 med 12 indlæg, skal du have tallet 25?
Avatar billede michael_stim Ekspert
12. september 2007 - 13:46 #4
SELECT COUNT(indlaeg) FROM tabel1 WHERE brugerid = (SELECT brugerid FROM tabel2 WHERE brugerid='". $_POST['brugerid']))

Men et vildt skud i tågen, men det bedste jeg kan komme med, med den forklaring ;o)
Avatar billede nykh Nybegynder
12. september 2007 - 13:46 #5
debat
id

indlæg
id
debat_id
user_id

hvis din struktur ser nogenlunde sådan ud, og du har minimum mysql 4.1, så synes jeg umiddelbart denne ser fornuftig ud:

select sum(*) from indlæg where debat_id in (select debat_id from indlæg where user_id = xx group by debat_id)
Avatar billede michael_stim Ekspert
12. september 2007 - 13:47 #6
Lidt unødig subselect ;o) Men bare så du kan få en idé
Avatar billede nykh Nybegynder
12. september 2007 - 13:47 #7
count i stedet for sum :)
Avatar billede webhelpers Praktikant
12. september 2007 - 13:58 #8
splazz, ja
Avatar billede majbom Novice
21. januar 2009 - 10:06 #9
numsi?
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

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