将列转换为一行

发布于 2025-01-13 02:26:24 字数 716 浏览 1 评论 0原文

我想将 SQL 数据从行转换为列

这是我的数据

-------------------------------
|ITEM |    DAY  |  No  | Qty  |
-------------------------------
|  A  |Monday   | No 1 | 10   |
|  A  |Tuesday  | No 1 | 10   |
|  A  |Tuesday  | No 2 | 5    |
|  A  |Wednesday| NULL | NULL |
-------------------------------

我只想转换为一行并获得此结果

---------------------------------------------------------------------------
|ITEM | Monday1|  Monday2 | Tuesday1 | Tuesday2 | Wednesday1 | Wednesday 2|
---------------------------------------------------------------------------
|  A  |   10   |  NULL    |  10      |     5    |   NULL     |   NULL     | 

我如何构建结果? 我尝试使用数据透视表但仍然没有得到结果

谢谢

I want to convert SQL data from row to column

This is my data

-------------------------------
|ITEM |    DAY  |  No  | Qty  |
-------------------------------
|  A  |Monday   | No 1 | 10   |
|  A  |Tuesday  | No 1 | 10   |
|  A  |Tuesday  | No 2 | 5    |
|  A  |Wednesday| NULL | NULL |
-------------------------------

I want to convert into one rows only and get this result

---------------------------------------------------------------------------
|ITEM | Monday1|  Monday2 | Tuesday1 | Tuesday2 | Wednesday1 | Wednesday 2|
---------------------------------------------------------------------------
|  A  |   10   |  NULL    |  10      |     5    |   NULL     |   NULL     | 

How I can build the result?
I tried using a pivot table but still didn't get the result

Thank you

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

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

发布评论

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

评论(1

圈圈圆圆圈圈 2025-01-20 02:26:24

你可以旋转它们

SELECT *
FROM (
  SELECT 
    ITEM
  , CONCAT([DAY], RIGHT([No],1)) AS Col
  , Qty
  FROM YourTable
) Src
PIVOT (
  MAX(Qty) 
  FOR Col IN (
    [Monday1], [Monday2], 
    [Tuesday1], [Tuesday2],
    [Wednesday1], [Wednesday2]
  ) 
) Pvt
ORDER BY ITEM;

You can pivot them

SELECT *
FROM (
  SELECT 
    ITEM
  , CONCAT([DAY], RIGHT([No],1)) AS Col
  , Qty
  FROM YourTable
) Src
PIVOT (
  MAX(Qty) 
  FOR Col IN (
    [Monday1], [Monday2], 
    [Tuesday1], [Tuesday2],
    [Wednesday1], [Wednesday2]
  ) 
) Pvt
ORDER BY ITEM;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文