Я пытаюсь получить счет C_ST с '0' для каждого Abonent, но не знаю как. Пытался найти решение, но ничего не работает ..Небольшая задача SQL с агрегатными функциями
Структура базы данных:
QRY_TYPE (ID
- уникальный идентификатор типа, С_NAME
- имя типа, C_AB_REF
- ссылка аноним, который обрабатывает эти типы сообщений).
ST_ABONENTS (ID
- уникальный идентификатор, С_NAME
- имя)
QRY_QUEUE (ID
- уникальный идентификатор, С_IN_TIME
- дата и время написания MSG в таблицу, C_EXEC_TIME
- дата и время обработки сбщ , C_ST
- статус обработки (null - did not, 1 - successl, 0 - ошибка с обработкой), C_QRY_TYPE
- ссылка для типа запроса).
Вот один из моих попыток, его до сих пор не работает
SELECT ST_ABONENTS.C_NAME AS "ABONENTNAME",COUNT(QRY_QUEUE.C_ST) AS "CNT"
FROM ST_ABONENTS, QRY_QUEUE
WHERE QRY_QUEUE.C_ST=0
GROUP BY ST_ABONENTS.C_NAME
HAVING COUNT(QRY_QUEUE.C_ST)>0;
Результат должен выглядит следующим образом
Oracle или MySQL? Не помещайте те продукты, которые не задействованы. (И у одного из этих двух есть немного странная группа по поведению ...) – jarlh
oracle, уже нашли решение, thx – Alexey