表值作为表头

发布于 2024-09-07 06:33:20 字数 806 浏览 3 评论 0原文

查询:

select Escuser,Eslevel from WF_UserConfiguration  

返回给我如下表:

╔═════════════════════╗
║ Escuser     Eslevel ║
╠═════════════════════╣
║ A000        1       ║
║ A010        4       ║
║ A021        3       ║
║ ABCD        1       ║
║ C067        3       ║
║ C099        1       ║
║ C252        2       ║
╚═════════════════════╝

我的问题是我想获得以下输出

╔═════════════════════════════╗
║       1     2      3     4  ║
╠═════════════════════════════╣
║     A000  C252   A021  A010 ║
║     ABCD         C067       ║
║     C099                    ║
╚═════════════════════════════╝

表头 1234为第一个查询结果的EsLevel值。

我应该如何获得以下结果(我的意思是什么查询)?

The query:

select Escuser,Eslevel from WF_UserConfiguration  

is returning me the table bellow:

╔═════════════════════╗
║ Escuser     Eslevel ║
╠═════════════════════╣
║ A000        1       ║
║ A010        4       ║
║ A021        3       ║
║ ABCD        1       ║
║ C067        3       ║
║ C099        1       ║
║ C252        2       ║
╚═════════════════════╝

My problem is I want to get the following output

╔═════════════════════════════╗
║       1     2      3     4  ║
╠═════════════════════════════╣
║     A000  C252   A021  A010 ║
║     ABCD         C067       ║
║     C099                    ║
╚═════════════════════════════╝

The table headers 1, 2, 3 and 4 are EsLevel values of first query result.

How should I get the following result (I mean what query)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

标点 2024-09-14 06:33:20

使用枢轴的答案:
观看现场演示

select 
[1],
[2],
[3],
[4] 
from
(
select 
  Escuser,
  Eslevel, 
  Row_number() over(partition by Eslevel order by escuser asc)  as r
from WF_UserConfiguration  
)src
pivot
( 
  max(escuser) 
  for Eslevel in 
   (
    [1],[2],[3],[4]
   )
)p

The answer using pivot:
See live demo

select 
[1],
[2],
[3],
[4] 
from
(
select 
  Escuser,
  Eslevel, 
  Row_number() over(partition by Eslevel order by escuser asc)  as r
from WF_UserConfiguration  
)src
pivot
( 
  max(escuser) 
  for Eslevel in 
   (
    [1],[2],[3],[4]
   )
)p
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文