Temat: COUNT i GROUP BY daje puste pola
Witam, mam problem który wygląda następująco: Mam zapytanie w postaci:
SELECT
CASE
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'kuj.-pom%' THEN 'kujawsko - pomorskie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'war.-maz%' THEN 'warmińsko - mazurskie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'podlaskie%' THEN 'podlaskie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'pomorskie%' THEN 'pomorskie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'dolnośląskie%' THEN 'dolnośląskie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'lubelskie%' THEN 'lubelskie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'wielkopolskie%' THEN 'wielkopolskie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'mazowieckie%' THEN 'mazowieckie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'opolskie%' THEN 'opolskie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'śląskie%' THEN 'śląskie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'łódzkie%' THEN 'łódzkie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'świętokrzyskie%' THEN 'świętokrzyskie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'zach.-pom%' THEN 'zachodnio - pomorskie'
WHEN jednostki_organizacyjne.nazwa_skrocona LIKE 'malopolskie%' THEN 'małopolskie'
ELSE jednostki_organizacyjne.nazwa_skrocona
END,
COUNT (jednostki_organizacyjne.nazwa_skrocona LIKE '%_dz') AS Dzieci,
COUNT (jednostki_organizacyjne.nazwa_skrocona LIKE '%_d') AS Dorosli
FROM
public.pacjenci,
public.przyjecia,
public.jednostki_organizacyjne
WHERE
przyjecia.id_jednostki_organizacyjnej = jednostki_organizacyjne.id AND
przyjecia.id_pacjenta = pacjenci.id
AND jednostki_organizacyjne.nazwa_skrocona LIKE '%ZDLR%'
GROUP BY jednostki_organizacyjne.nazwa_skrocona
ORDER BY nazwa_skrocona
które daje w wyniku:
nazwa_skrocona | dzieci | dorosli
-----------------------+--------+---------
dolnośląskie | 9 | 9
dolnośląskie | 64 | 64
kujawsko - pomorskie | 13 | 13
kujawsko - pomorskie | 45 | 45
lubelskie | 33 | 33
lubelskie | 5 | 5
łódzkie | 30 | 30
łódzkie | 4 | 4
małopolskie | 3 | 3
małopolskie | 59 | 59
mazowieckie | 57 | 57
mazowieckie | 14 | 14
opolskie | 8 | 8
opolskie | 6 | 6
podlaskie | 5 | 5
śląskie | 11 | 11
śląskie | 2 | 2
świętokrzyskie | 19 | 19
warmińsko - mazurskie | 55 | 55
warmińsko - mazurskie | 9 | 9
wielkopolskie | 4 | 4
wielkopolskie | 21 | 21
zachodnio - pomorskie | 1 | 1
zachodnio - pomorskie | 16 | 16
(24 rows)
Problem polega na tym, że zlicza mi wszystkie występienia a nie te, o które mi chodzi (czyli gdzie w "nazwa_skrocona" na końcu występuje '_dz' lub '_d'.
Jak powinno wyglądać prawidłowe zapytanie?