我是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'語句與聚合相結合 - 「條件聚合」 - 功能非常強大。 –