我正在构建一组相当大的表格数据。在这些数据中,我有员工及其接受总数的公司总数。我遇到的问题是我使用的是CTE,我的一个表达式计算特定项目的数量。计数不返回任何内容,通过在最终查询中包含此表达式,整个结果集为空。我确定我在这里错过了一些简单的东西:
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;
此查询不返回任何内容,当我在最终查询中使用它时,整个结果集为空。如果我排除它,那么我得到了我期待的所有行。它看起来像这样?
A
由于这个值与所有员工相关,我希望它只返回项目在班级will deliver 11/07 in USA at 12:30 with conf# 12345678
时的公司总数。即使那是0,我还以为0会被退回?
答案 0 :(得分:2)
按照您所依赖的同一列进行分组是没用的。你想要一个简单的:
SELECT count(*)
FROM company_totals_final
WHERE item = 'A'
count(item)
计算item不为null的所有行,但条件ITEM = 'A'
无论如何都会删除这些行。所以它也不需要。