我試圖從一張表(發票)中選擇最近的日期到另一張表上的客戶。我不是在尋找一個客戶,而是幾個。我想這樣做看起來是這樣的:單獨表上的聚合函數
select C.[Last Name], C.[First Name], C.[State], I.[Date]
From myDb.dbo.Customer C
left join myDb.dbo.Invoice I on I.CustomerID = C.CustomerID
where [email protected] and i.date = max(i.date)
我知道我不能在其中Max()
,我試圖用HAVING
。我無法爲customerID
分配本地變量,並執行where i.date = (select...)
。我試圖將這一切保持爲一個聲明,因爲這是在一個數據庫中對多個數據庫執行的。
更新:
我決定改變我的設計要求,因爲這不是最優化的解決方案。
不知道我是否理解這個問題。您想要獲得特定狀態下所有客戶的列表以及各自最後一張發票的日期? – Corbin 2012-03-27 21:18:28
爲什麼單個發票上會有多個客戶? – mellamokb 2012-03-27 21:19:30
它將是所有客戶的列表,以及每個客戶的最新發票日期。 – 2012-03-27 21:27:15