gpt4 book ai didi

sql - 在oracle中将两行连接成一行(不同列)

转载 作者:行者123 更新时间:2023-12-04 23:57:05 24 4
gpt4 key购买 nike

我有这样的值的表

ID   |Name     |Balance     |Type   |ProductName
1 Abdol 10000 1 RAID100
2 HIVE 5000000 2 RAID100
3 Ade 20000 1 RAID200
4 Koi 30000 1 RAID100

我想使用选择脚本重新排列表格以:

ProductName | Balance_Type_1 | Balance_Type_2
RAID100 40000 5000000
RAID200 20000 0

我试过嵌套大小写,但它总是创建一列,其中产品名称后跟 0 值并重复。

谢谢

最佳答案

你想要聚合:

select productname, 
sum(case when type = 1 then balance else 0 end) as balance_type1,
sum(case when type = 2 then balance else 0 end) as balance_type2
from table t
group by productname;

在需要时运行聚合查询,不要在数据库中创建汇总表结构。这将很难管理。

关于sql - 在oracle中将两行连接成一行(不同列),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59422923/

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