【问题标题】:Microsoft SQL how to construct the table from the rowsMicrosoft SQL 如何从行构造表
【发布时间】:2019-03-19 19:47:00
【问题描述】:

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

与 CTE 作为 ( 选择 GUID 从表一 ) 从 CTE 中选择 *

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

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

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

Guid Row1 Row2 Row3?

【问题讨论】:

    标签: mysql sql


    【解决方案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;
    

    【讨论】:

    • 谢谢你,戈登……我现在的问题是如何使用这个函数……它返回一个只有一列的三行表。结果 CTE 的输出应该是 GUID1、ROW1_forGUID1、ROW2_forGUID1、ROW3_forGUID1; GUID2、ROW1_forGUID2、ROW2_forGUID2、ROW3_forGUID2 等...
    猜你喜欢
    • 2013-10-15
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多