如何在SQL中使用转置下表?

如何在SQL中使用转置下表?,sql,sql-server,Sql,Sql Server,如何在SQL中将表转换为这种格式 这是原来的专栏 这是转置列 这在SQL中可行吗?如果不介意结果集中的NULL,那么也可以使用 示例代码片段: 结果: column1 c1 c2 c3 c4 c5 c6 ------- ---- ---- ---- ---- ---- ---- 1 a b c d NULL NULL 2 e f g h NULL NULL 3 w e NUL

如何在SQL中将表转换为这种格式

这是原来的专栏

这是转置列


这在SQL中可行吗?

如果不介意结果集中的NULL,那么也可以使用

示例代码片段:

结果:

column1 c1   c2   c3   c4   c5   c6
------- ---- ---- ---- ---- ---- ----
1       a    b    c    d    NULL NULL
2       e    f    g    h    NULL NULL
3       w    e    NULL NULL NULL NULL
4       r    t    a    s    d    f

免责声明:按nothing排序的行号不能保证结果中的顺序相同。

如果您不介意结果集中的NULL,那么您也可以使用

示例代码片段:

结果:

column1 c1   c2   c3   c4   c5   c6
------- ---- ---- ---- ---- ---- ----
1       a    b    c    d    NULL NULL
2       e    f    g    h    NULL NULL
3       w    e    NULL NULL NULL NULL
4       r    t    a    s    d    f

免责声明:按nothing排序的行号不能保证结果中的顺序相同。

是的,这是可能的。但是你试过查询了吗?这是可能的。如果您不想聚合数据,则需要透视表查看此或此。是的,这是可能的。但是你试过查询了吗?这是可能的。如果你不想聚合数据,你需要透视你的表。我喜欢你的变体。这本书更容易阅读和阅读maintain@AlexanderVolok谢谢老实说,如果pivot不需要硬编码这些列名,它会更容易。但目前你需要使用动态sql来实现这一点。我喜欢你的变体。这本书更容易阅读和阅读maintain@AlexanderVolok谢谢老实说,如果pivot不需要硬编码这些列名,它会更容易。但目前需要使用动态sql来实现这一点。