使用示例表來解釋這一點對我來說可能更容易。
所以我有兩個表,(不知道如何將其轉換為格式化文本)
- 產品 EOM 表

- 交易表

我想要得到的結果是找出每個 EOM 日期之前的最新交易日期,如下所示。

uj5u.com熱心網友回復:
更新:我已經使用下面的代碼實作了這一點,只是想知道是否有更好的主意?
SELECT
PE.[Product ID],
PE.[EOM Date],
MAX(TR.[Transaction Date]) AS [Last Transaction Date]
FROM [TD_External_Data].[dbo].[Product EOM] AS PE
LEFT JOIN [TD_External_Data].[dbo].[Transaction] AS TR
ON PE.[Product ID] = TR.[Product ID]
AND PE.[EOM Date] >= TR.[Transaction Date]
GROUP BY
PE.[Product ID],
PE.[EOM Date]
ORDER BY
PE.[Product ID],
PE.[EOM Date]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/361961.html
標籤:sql-server 查询语句
上一篇:僅從行集中取第一行
