Я создаю довольно большой набор табличных данных. В этих данных у меня есть сотрудники и их итоговые суммы по отношению к общим суммам компании. У меня возникла проблема в том, что я использую CTE, и одно из моих выражений подсчитывает количество определенного элемента. Счетчик ничего не возвращает и включив это выражение в окончательный запрос, весь результат будет пустым. Я уверен, что я что-то просто не хватает здесь:CTE с пустыми выражениями
...
COMPANY_TOTAL_A(A) AS
(
SELECT NVL(COUNT(ITEM),0)
FROM COMPANY_TOTALS_FINAL
WHERE ITEM = 'A'
GROUP BY ITEM
),
...
Этот запрос ничего не возвращает, и, когда я использую его в моем окончательном запросе весь результирующий набор является пустым. Если я исключу его, я получу все строки, которые я ожидаю. Это похоже на это?
SELECT DISTINCT C.ID,
C.NAME,
P.LOCATION,
...
NVL(T.A, 0)
...
FROM COMPANY C
INNER JOIN PLACE P
ON P.P_ID = C.P_ID,
...
COMPANY_TOTAL_A T;
В качестве значения Tthis имеет отношение ко всем сотрудникам, я ожидал, что это просто вернуть общую компанию для того, когда товар находится в классе A
. Даже если это 0, я думал, что 0 будет возвращено?