gpt4 book ai didi

mysql使用if和case语句生成

转载 作者:行者123 更新时间:2023-11-28 23:43:09 25 4
gpt4 key购买 nike

我这里有一个表名table1

debit  credit    groups

100 group1
500 -100 group3
-100 group3
200 -50 group2

我需要这样的输出

group1     group2       group3
100 200 500
-50 -100
-100

这是我的问题

SELECT
IF((SELECT CASE WHEN groups = "group1"
THEN Debit ELSE Credit END),Debit,Credit) as group1,
IF((SELECT CASE WHEN groups = "group2"
THEN Debit ELSE Credit END),Debit,Credit) as group2,
IF((SELECT CASE WHEN groups = "group3"
THEN Debit ELSE Credit END),Debit,Credit) as group3
FROM table1

我得到的输出是

group1     group2       group3
100 200 500

最佳答案

尝试将贷方和借方信息的查询分开,并使用union all 将这些列合并为一个按“组”值分组的列。

select
case when groups = "group1" then credit end as group1,
case when groups = "group2" then credit end as group2,
case when groups = "group3" then credit end as group3
from table1

union all

select
case when groups = "group1" then debit end as group1,
case when groups = "group2" then debit end as group2,
case when groups = "group3" then debit end as group3
from table1

关于mysql使用if和case语句生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34033619/

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