我非常努力地从具有2个条件的1个表中进行查询。 每个条件都应该能够根据交易日期对行进行计数。
查询1:
SELECT
INST_NO,
TRUNC(INS_TS)INS_TS,
COUNT(*) TOTAL_INSPECTION
FROM TMCI_QC_LINE2
WHERE INST_NO='M190200772'
GROUP BY
INST_NO,
TRUNC(INS_TS)
查询结果1:
INST_NO INS_TS TOTAL_INSPECTION
M190200772 18-FEB-19 8
M190200772 19-FEB-19 3
查询2:
SELECT
INST_NO,
TRUNC(INS_TS)INS_TS,
COUNT(*) CASE_INSPECTION
FROM TMCI_QC_LINE2
WHERE INST_NO='M190200772' AND QTY_OK IN (0)
GROUP BY
INST_NO,
TRUNC(INS_TS)
查询结果2: 表2:
INST_NO INS_TS CASE_INSPECTION
M190200772 18-FEB-19 4
M190200772 19-FEB-19 2
现在,我希望结果看起来像这样:
INST_NO INS_TS INSPECTION CASE
M190200772 18-FEB-19 8 4
M190200772 19-FEB-19 3 2
答案 0 :(得分:2)
您需要为新列进行第一个查询和条件聚合:
SELECT
INST_NO,
TRUNC(INS_TS) INS_TS,
COUNT(*) INSPECTION,
SUM(CASE WHEN QTY_OK = 0 THEN 1 ELSE 0 END) CASE
FROM TMCI_QC_LINE2
WHERE INST_NO='M190200772'
GROUP BY INST_NO, TRUNC(INS_TS)