我是SQL新手,我有一个关于数据显示以及如何让查询显示我想要的方式的问题。我们的商务智能人员正在忙于其他项目,所以我们(金融)应该放松一下。如果这是相关的,我将把它转储到EXCEL中。总结SQL查询条件
我的查询中选择了正确的信息,但我想两列的SUM (INVOICE.INVAMT)
,我想一列,是INVOICE.INVAMT
(或NULL)时INVOICE.INVDATE
小于FUNDEPTPER.STARTDATE
之和为INVOICE.INVAMT
时INVOICE.INVDATE
之列介于FUNDEPTPER.STARTDATE
和FUNDDEPTPER.STOPDATE
之间并包括(或NULL)。总计也会很好。
我可以一次做一个,但不是两个 - 我的直觉说这可以完成 - 但我不知道如何。
非常感谢您的帮助。我不需要专门知道(即确切的查询语言),如果你甚至可以解释高层次,我可能会得到它(如果可能???)
我的查询,如果你需要它:
SELECT FUNDERS.CODE, BILLBATCH.BATCH_ID, BILLBATCH.BATCHNO, SUM (INVOICE.INVAMT) AS [TOTAL CURRENT]
FROM FUNDERS INNER JOIN ORDERS ON FUNDERS.FUNDER_ID= ORDERS.FUNDER_ID
INNER JOIN INVOICE ON ORDERS.ORDER_ID=INVOICE.ORDER_ID
INNER JOIN FUNDEPTPER ON FUNDEPTPER.PERIOD_ID = INVOICE.PERIOD_ID
INNER JOIN BILLBATCH ON BILLBATCH.BATCH_ID= FUNDEPTPER.BATCH_ID
WHERE BILLBATCH.BATCHNO = '?' AND INVOICE.INVTYPE='Invoice'
AND INVOICE.INVDATE BETWEEN FUNDEPTPER.STARTDATE AND FUNDEPTPER.STOPDATE
GROUP BY FUNDERS.CODE, BILLBATCH.BATCH_ID, BILLBATCH.BATCHNO
我从来没有想过'CASE statement'可以了'SUM()中找到' – Charlesliam
谢谢,这真是棒极了。 – user3792102
将'case'语句与聚合相结合 - “条件聚合” - 功能非常强大。 –