gpt4 book ai didi

sql-server - SQL Server中如何将多行合并为一行多列?

转载 作者:行者123 更新时间:2023-12-03 09:45:18 24 4
gpt4 key购买 nike

通过创建临时表,我有不同的表,这里是临时表的结果集:

     car_id  | car_type | status  | count   
--------+----------+---------+------
100421 | 1 | 1 | 9
100421 | 1 | 2 | 8
100421 | 1 | 3 | 3
100421 | 2 | 1 | 6
100421 | 2 | 2 | 8
100421 | 2 | 3 | 3
100422 | 1 | 1 | 5
100422 | 1 | 2 | 8
100422 | 1 | 3 | 7

状态栏的含义如下:

  • 1 作为销售
  • 2 次购买
  • 3 作为返回

现在我想显示这个结果集如下

   car_id  | car_type | sale | purchase | return
--------+----------+------+----------+----------
100421 | 1 | 9 | 8 | 3
100421 | 2 | 6 | 8 | 3
100422 | 1 | 5 | 8 | 7

我试过但无法生成此结果集。谁能帮忙?

最佳答案

您还可以使用 CASE 表达式。

查询

select [car_id], [car_type],
max(case [status] when 1 then [count] end) as [sale],
max(case [status] when 2 then [count] end) as [purchase],
max(case [status] when 3 then [count] end) as [return]
from [your_table_name]
group by [car_id], [car_type]
order by [car_id];

关于sql-server - SQL Server中如何将多行合并为一行多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45876876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com