moze lepiej napisz jaki wynik cie interesuje
domyslam sie ze chcesz pokazac za dla kazdego admina czy sa przypisani uzytkownicy i licencje (do userow)
napisales ze problemem jest przypadek kiedy jeden z countow jest zero
ale czy poprawna jest sytuacja kiedy pod admina1 podpiety jest user1 i user2, a do user1 zero licencji, a do user2 3 licencje
wiec w tym przypadku oba county sa >0, ale do jednego z userow nie ma zadnych licencji
po pierwsze count grupuje rekordy po jakis kryteriach (w klauzuli group by, jesli jej nie ma, zlicza wszytkie z zapytania), wiec uzycie 2 count'ow w jednym select jest nielogiczne, bo zwroca te same wartosci
- wiec zaczalbym od zliczenia ile licencji przypisanych jest do klienta (usera)
select client, count(*) from licence group by client
- polacz to z rekordami userow
select * from client_user CU
left join (select client, count(*) as licCount from licence group by client) as C
on C.client=CU.cid
- polacz z adminami i zlicz dla adminow clientow
select adminID, isnull(count(),0) as clientsCount, sum(CU.licCount) from administration_users AU
left join (
select CU.cid,CU.admin, isnull(C.licCount, 0) as licCount from client_user CU
left join (select client, count() as licCount from licence group by client) as C
on C.client=CU.cid
) as CU on AU.userID=CU.admin
group by AU.adminID
isnull(a,b) - dziala tak ze jesli a jest null zwraca b (to jest z t-sql) jaki jest odpowiednik dla mysql nie wiem, zawsze mozesz uzyc case