我有一個銷售表包括購買/返回/交流 樣品:SQL銷售總額計算
--------**saleTbl**------------
CustID | DOP | SKU | Price
111 | 11/05/12 | 001 | 45.99
222 | 11/20/12 | 001 | 45.99
111 | 11/06/12 | 002 | 40.95
111 | 11/06/12 | 001 | -45.99
111 | 11/19/12 | 004 | 50.00
222 | 11/25/12 | 003 | 20.99
111 | 12/01/12 | 002 | -40.95
111 | 12/01/12 | 003 | 20.99
標準是:在11/05/12爲每個客戶找到總 - 12年11月20日。如果客戶交換了在此期間購買的物品,並且在同一天購買的物品將被計數。 預期的結果是:
CustID | DOP | Price
222 | 11/20/12 | 45.99
111 | 12/01/12 | 70.99
我試圖獲得總但當然這是不對的:
SELECT DISTINCT [num_cp] AS 'Member Id'
,MAX([dop]) AS 'Date'
,SUM([price]) AS 'Point'
FROM [Mailing_List].[dbo].[UGG_DoublePoint]
WHERE [num_cp] IN
(
SELECT [num_cp]
FROM [Mailing_List].[dbo].[UGG_DoublePoint]
GROUP BY [num_cp]
HAVING SUM([price]) >0
)
--AND
AND [dop] BETWEEN '11/05/12' AND '11/20/12'
GROUP BY [num_cp]
請幫幫忙!感謝大家。
你使用的是什麼rdbms? – Taryn
它是SQL 2008. – tkvo
如果期間在11/05/12 - 11/20/12之間,爲什麼在您的預期結果是12/01/12條目列出?你能詳細說明還是修復預期的輸出結果? –