我試圖爲每個唯一業務單位選擇最近請求#的創建日期。因爲有更多獨特的創建日期,所以有業務單位,我在業務單位列中獲得了非唯一的業務單位。我不需要全部創建日期,只需要最新的日期。T-SQL:消除非唯一結果的查詢
如果你看看v2中的CTE,我想從CTE返回的每個值最近的CreateDate
。
任何幫助表示讚賞。
版本1:
SELECT
SQ.[Business Unit Impacted] [BU],
COUNT(RD.RequestID) [ReqCount],
(SELECT TOP 1 RD.CreateDate) [Create]
FROM
REP_RequestData RD
LEFT JOIN
REP_StandardQuestionResponses SQ ON SQ.RequestDataId = RD.Id
WHERE
RD.ProductID = 'Firewall.Change.Request'
GROUP BY
SQ.[Business Unit Impacted], RD.CreateDate
版本2:
WITH D AS
(
SELECT
SQ.[Business Unit Impacted] [BU],
COUNT(RD.RequestID) [ReqCount]
FROM
REP_RequestData RD
LEFT JOIN
REP_StandardQuestionResponses SQ ON SQ.RequestDataId = RD.Id
WHERE
RD.ProductID = 'Firewall.Change.Request'
GROUP BY
SQ.[Business Unit Impacted]
)
SELECT
D.BU,
D.ReqCount,
(SELECT TOP 1 RD.CreateDate) [create]
FROM
D
LEFT JOIN
REP_StandardQuestionResponses SQ ON SQ.[Business Unit Impacted] = D.BU
LEFT JOIN
REP_REQUESTDATA RD on SQ.RequestDataId = RD.Id
WHERE
RD.ProductID = 'Firewall.Change.Request'
GROUP BY
D.BU, D.ReqCount, RD.CreateDate
這正是我需要的。謝謝!! – user3299464