У меня есть это требование с нашей БД, как показано ниже
Я хочу получить 3 столбца requestType
, CategoryGroup
и число readStatus
столбец
Результат будетпокажите все requestType
вместе с categoryGroup
, и если readStatus
равно false, то будет показано его количество, и если все readStatus
истинно в том же requestType
, тогда вернет 0.
также, если requestType
равно NULL
и пусто в том же categoryGroup
(из таблицы A, subcategoryId 12 и 13 совпадают с categoryGroup
в таблице B), то categoryGroup должна отображаться как BLANK и должна содержать счетчик(readStatus=0
) как NULL, так и BLANK
![Result count](https://i.stack.imgur.com/9Jqwd.png)
Запрос, который я написал, возвращает только столбцы и счет в отношении readStatus=false
ис указанием его общего количества.
select coalesce( m.requestType, "") as requestType,
count(m.messageId) as count,
s.categoryGroup categoryGroup
from mb_message m
join mb_subcategory s on m.subCategoryId = s.subCategoryId
where m.readStatus=0
and m.storeId = ?
and countryCode= ?
and m.modifiedDate >= ?
group by m.requestType, m.subCategoryId;
Ожидаемый результат для вышеуказанного запроса:
![enter image description here](https://i.stack.imgur.com/YII4V.png)