webForumDet fria alternativet
Logga in / Bli medlem

mer SQL

ASP

8 svar · 150 visningar · startad av OveRRidE

Medlem sedan feb. 200112 078 inlägg
Trådstart#1

Jag är svag på SQL :e

set recset = connect.execute("SELECT count(*) AS antal, grpNamn FROM groups, groups_join WHERE groups.id = groups_join.grpUserId GROUP BY grpNamn")

Som vanligt vill jag lista alla grupper och inte bara de som innehåller användare.

Jag hittade ett tidigare exempel, men jag kunde inte förmå mig att ens kunna flytta denna modellen i i den strängen, det var för avancerat.. :x

Medlem sedan dec. 19995 874 inlägg
#2

Kan detta fungera?

SELECT count(*) AS antal, grpNamn FROM groups right join groups_join ON groups.id = groups_join.grpUserId GROUP BY grpNamn
Medlem sedan feb. 200112 078 inlägg
#3

Nej, sorry det gör det inte.

Jag får samma resultat, inget felmess.

Medlem sedan dec. 19995 874 inlägg
#4

prova att byta ut right mot left

Medlem sedan feb. 200112 078 inlägg
#5

Mjo, det funkade bättre.. men nu blir det värde 1 på de grupper som faktiskt inte innehåller nån användare.

Medlem sedan dec. 19995 874 inlägg
#6

och vilket värde vill du ha?

Medlem sedan feb. 200112 078 inlägg
#7

jo..

de grupper som inte har någon användare skall givetvis returnera noll.

just nu returnerar recset("antal") värdet 1, vilket ju är fel.

Medlem sedan dec. 200012 464 inlägg
#8
SELECT count(groups_join.grpUserId ) AS antal, grpNamn FROM groups left join groups_join ON groups.id = groups_join.grpUserId GROUP BY grpNamn
Medlem sedan feb. 200112 078 inlägg
#9

*skratt* :e

Givetvis funkade det kanon! ;)

252 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)