我有一个包含 GUID 列表的 cte,例如
WITH CTE AS (从 TableOne 中选择 GUID) SELECT * FROM CTE
对于每个 GUID,我都有一个函数,它以格式返回一个表
- 第 1 行
- 第 2 行
- 第 3 行
我如何将结果组合到新的 cte 表中,例如
Guid Row1 Row2 Row3?
比
您可以使用条件聚合——如果您知道列数:
WITH CTE AS (
Select GUID, ROW_NUMBER() OVER (ORDER BY GUID) as seqnum
FROM TableOne
)
SELECT MAX(CASE WHEN seqnum = 1 THEN GUID END) as GUID_1,
MAX(CASE WHEN seqnum = 2 THEN GUID END) as GUID_2,
MAX(CASE WHEN seqnum = 3 THEN GUID END) as GUID_3
FROM CTE;