webForumDet fria alternativet

left join?

4 svar · 180 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#1

halåjs!
vad göra för att få fram alla posterna i den vänstra tabellen, nu hämtar den bara upp de som också har poster i den högra.
left join verkar inte ha sin verkan här, snälla! säg att det går att fixa.

strsql = "select c.clientid, c.companyname, count(p.projectid) as pid "&_
"from clients c left join projects p on c.clientid = p.clientid where p.active = 1 "&_
"group by c.clientid, c.companyname order by c.companyname"
LarsGMedlem sedan dec. 200012 464 inlägg
#2

Då du har ett villkor på den högra tabellen i ditt where villkor så tar det bort alla poster som inte matchar.

strsql = "select c.clientid, c.companyname, count(p.projectid) as pid "&_
"from clients c left join projects p on (c.clientid = p.clientid and p.active = 1) "&_
"group by c.clientid, c.companyname order by c.companyname"
doggelitoMedlem sedan juni 20003 076 inlägg
#3

såklart! :(
where-taggen är till bara för räkningen: count(p.projectid) as pid
kan man bestämma på något annat vis att den bara ska räkna de poster som har värdet 1?

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Den fråga som jag skrev borde fungera på det sättet.

I och med att du har

count(p.projectid)

så kommer den inte att ta med de poster där p.projectid är null.

Nu vet jag inte om jag förstår exakt vad du vill ha.

doggelitoMedlem sedan juni 20003 076 inlägg
#5

sorry, jag läste bara texten du skrev (jag vet, otacksamt!) :r
men det FUNKAR ju! Tack! :bire

123 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)