Többdimenziós mysql lekérdezés probléma

Többdimenziós mysql lekérdezés probléma
2018-09-26T14:58:29+02:00
2018-09-27T08:09:22+02:00
2022-10-15T21:40:30+02:00
shoot
A következő problémám lenne, készítenem kellene egy több dimenziós lekérdezést.
Próbálok kicsit egyszerűsíteni a valósághoz képest.

Táblák:

ugyfel (uid, ccsoportid)

szolgaltatas (szid, uid, szogaltatas)

kepzes (kid, uid,  kepzes)

Le kellene kérdeznem, hogy mennyi szolgáltatást és képzést kaptak a célcsoportok tagjai.
Tehát kb. így persze sokkal több oszloppal

csoport                szolgáltatás        képzés

1                             11                           4

2                             21                           0

3                             0                             0

4                             5                             1


Próbálkoztam elsőként egy sort lekérni, de nem jó számokat generál.

$sql_havi_be2=" SELECT COUNT(CASE WHEN sz.szid AND u.csoportid = 1 THEN 1 END) szolg, COUNT(CASE WHEN k.kid AND u.csoportid = 1 THEN 1 END) kepz, FROM ugyfel u RIGHT JOIN szolgaltatas sz ON u.uid = sz.uid RIGHT JOIN kepzes k ON u.uid = k.uid
Ez a forma egy táblás  lekérdezés esetén működik de itt már nem.
Látom, hogy mi a hiba, de nem igazán tudom jelölni, hogy melyik táblában keressen.
Lehet, hogy inkább egy kétdimenziós tömbbe kellene lekérdeznem?

Egyszerűen meg tudnám oldani, ha a csoportid-t rögzíteném a másik két táblában is, de inkább normálisabb megoldásra törekszem…

Kösz!
Mutasd a teljes hozzászólást!
Hali!

Nem biztos, hogy pontosan értem a feladatot, de talán:
SELECT `u`.`csoportid` AS `csoport` , COUNT(`sz`.`szid`) AS `szolgaltatas` , COUNT(`k`.`kid`) AS `kepzes` FROM `ugyfel` AS `u` LEFT JOIN `szolgaltatas` AS `sz` ON (`sz`.`uid` = `u`.`uid`) LEFT JOIN `kepzes` AS `k` ON (`k`.`uid` = `u`.`uid`) GROUP BY `u`.`csoportid`
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd