我對SQL還是比較新的。這是我嘗試運行的查詢的簡化版本。此查詢假設查找具有3個以上案例的客戶,並顯示前1個案例或所有案例,但除了所有案例編號外,還顯示每行中每個客戶案件的總數。T-SQL在集合/組查詢中選擇TOP 1
TOP 1子查詢方法不起作用,但有另一種方法來獲得我需要的結果嗎?希望這是有道理的。
下面的代碼:
SELECT t1.StoreID, t1.CustomerID, t2.LastName, t2.FirstName
,COUNT(t1.CaseNo) AS CasesCount
,(SELECT TOP 1 t1.CaseNo)
FROM MainDatabase t1
INNER JOIN CustomerDatabase t2
ON t1.StoreID = t2.StoreID
WHERE t1.SubmittedDate >= '01/01/2017' AND t1.SubmittedDate <= '05/31/2017'
GROUP BY t1.StoreID, t1.CustomerID, t2.LastName, t2.FirstName
HAVING COUNT (t1.CaseNo) >= 3
ORDER BY t1.StoreID, t1.PatronID
我想它是這個樣子,無論是一排只有最近的情況和細節或幾行顯示,除了存儲中每個案件的所有細節ID,客戶ID,姓氏,名字和案例數量。
您是否有過結果應該如何的示例? –
我已更新我的原始問題以包含我希望返回的列。 – Jenn
什麼決定選擇哪種情況?你能提供樣本輸入和輸出嗎? – Eric