0

我有一个包含 GUID 列表的 cte,例如

WITH CTE AS (从 TableOne 中选择 GUID) SELECT * FROM CTE

对于每个 GUID,我都有一个函数,它以格式返回一个表

  1. 第 1 行
  2. 第 2 行
  3. 第 3 行

我如何将结果组合到新的 cte 表中,例如

Guid Row1 Row2 Row3?

4

1 回答 1

1

您可以使用条件聚合——如果您知道列数:

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;
于 2019-03-19T19:49:13.480 回答