【发布时间】:2022-09-27 18:44:22
【问题描述】:
这里有一个关于如何打印每个月签署的合同数量的问题。这是我的代码:
SELECT COUNT(A.CONTRACT_NUMBER) AS count
FROM DM_SALES.V_SALES_DM_DATA A
LEFT JOIN DM_SALES.V_SALES_DM_CONTRACT_BUNDLE VSR ON A.CONTRACT_NUMBER = VSR.CONTRACT_NUMBER
WHERE 1=1
AND VSR.NAME_PRODUCER LIKE \'%OPPO%\'
AND A.CONTRACT_STATE <> \'Cancelled\'
AND a.cnt_signed=1
AND A.LOAN_TYPE = \'Consumer Loan\'
AND A.DTIME_SIGNATURE >= \'01-01-2022\'
GROUP BY (A.DTIME_SIGNATURE, \'yyyy-mm\')
;
但结果是:
我想像这样打印出来
月 |数数
2022-01 | 10000
2022-02 | 12000
谢谢!
-
将 VSR 条件从 WHERE 移动到 ON 以获得真正的 LEFT JOIN 结果。就像现在一样,您会得到常规的 INNER JOIN 结果。
-
您有什么实际问题 - 错误或错误结果?
DTIME_SIGNATURE是什么数据类型 - 看起来像日期(或时间戳),那么您的意思是group by to_char(...)吗? (虽然group by trunc(..., \'MM\')可能会更好......)
标签: sql oracle oracle-sqldeveloper