У меня есть этот tbl_religion с FIELDNAME creldescОтображаемые нет в другой таблице
и tbl_member с этими полями
и у меня есть этот запрос, чтобы подсчитать все существующие религии в tbl_member и посчитайте также номер. мужчины и женщины с этой религией, так что я сделал этот запрос:
SELECT m.creldesc as type,
COUNT(m.creldesc) as total,
SUM(CASE WHEN m.cgender='Male' THEN 1 ELSE 0 END) as male,
SUM(CASE WHEN m.cgender='Female' THEN 1 ELSE 0 END) as female
FROM tbl_member as m, tbl_barangay as b, tbl_household as h
WHERE m.chholdnumber = h.chholdnumber and h.cbrgycode=b.cbrgycode and b.cbrgyname = 'AGAO'
and m.crelationdesc !='Brgy. Captain'
GROUP BY m.creldesc
ORDER BY tot DESC;
и получить этот результат:
, что я хочу, чтобы достичь также отображения оставшегося религии от tbl_religion с 0, как стоимость. Я сделал левое соединение, но получил ошибку. Может ли кто-нибудь помочь мне, как я могу это достичь?
type total male female
Roman Catholic 7 4 3
Baptist 3 1 2
Islam 3 3 0
Iglesia ni Cristo 1 1 0
Free Methodist 1 1 0
Ang Dating Daan 1 0 1
Aglipay/Filipinsta 0 0 0
All the Gospel 0 0 0
Alpha Omega 0 0 0
and so on.............................
Какая ошибка? – SanRyu
Используйте 'ЛЕВЫЙ JOIN' – Wanderer
ВЫБОР \t m.creldesc как тип, \t COUNT (m.creldesc) как TOT, \t SUM (случай, когда m.cgender = 'Мужской', а затем 1 еще 0 концов) как самец, \t СУММА (случай, когда m.cgender = 'Женский' ТОГДА 1 еще 0 концов) как женский \t ИЗ tbl_member как м, tbl_barangay как б, как tbl_household ч \t LEFT JOIN tbl_religion пО tbl_religion.creldesc = m.creldesc \t ГДЕ m.chholdnumber = h.chholdnumber и h.cbrgycode = b.cbrgycode и b.cbrgyname = 'AGAO' и m.crelationdesc! = 'Brgy. Капитан ' \t GROUP BY m.creldesc ЗАКАЗАТЬСЯ НА DESC – ecoli