【发布时间】:2021-02-27 17:07:52
【问题描述】:
我想在 SQL 数据透视表中得到如下所示的单行结果
+------------+-----------+------------+----------+ |请求ID | IT 评论 | SO 评论 |批准 | +------------+-----------+------------+----------+ | 11111 | 09-19 | 09-20 | 09-21 | +------------+-----------+------------+----------+但是,我无法摆脱列中的空值:
+------------+-----------+------------+----------+ |请求ID | IT 评论 | SO 评论 |批准 | +------------+-----------+------------+----------+ | 11111 | 09-19 |空 |空 | | 11111 |空 | 09-20 |空 | | 11111 |空 |空 | 09-21 | +------------+-----------+------------+----------+以下是我的查询,谁能解释一下如何修改我的查询?谢谢!
SELECT [Request_ID] [Request ID]
,[IT Review]
,[SO Review]
,[Approved]
FROM (
SELECT *
FROM [RptChange].[dbo].[tRequestsAudit] a
JOIN (
SELECT [reqID] [Request_ID]
,MIN([reqUpdateDt]) [UpdateDT]
,MIN([AuditID]) AS EarliestAuditID
,[reqStatus] SubStatus
FROM [RptChange].[dbo].[tRequestsAudit]
WHERE [reqID] = 102943
GROUP BY [reqStatus]
,[reqID]
) sub ON sub.[EarliestAuditID] = a.AuditID
) sub2
PIVOT(MIN([UpdateDT]) FOR sub2.reqStatus IN (
[IT Review]
,[SO Review]
,[Approved]
)) AS P
【问题讨论】:
标签: sql sql-server