gpt4 book ai didi

mysql - 使用查询中给定的行数生成 SQL 查询

转载 作者:行者123 更新时间:2023-11-29 15:25:22 31 4
gpt4 key购买 nike

我需要使用列顺序表将表转换为给定的输出表。仅使用 SQL 是否可以实现这一点?

我在互联网上查找了答案,发现人们通常使用PIVOT。但是,我的表的列数与列顺序行中的行数一样多。那么这可能吗?

非常感谢任何有关如何执行此操作的想法/提示。

我已经有了表(是的,它是按 A 排序的)

         A          B                      C
---------- ---------- ----------------------
1 1 74
1 2 95
2 1 78
2 2 10
2 3 33

列的顺序(我有另一个表)

   B
-----
2
1
3

通缉表(按A排序)

A   COLUMN 2 COLUMN 1   COLUMN 3
--------------------------------
1 95 74 0
2 10 78 33

最佳答案

正如其他人指出的那样,您需要列顺序表中的一列来表示顺序。假设该列是id,那么您可以使用查询:

select t.A, 
ifnull(max(if (o.id=1, t.c, null)),0),
ifnull(max(if (o.id=2, t.c, null)),0),
ifnull(max(if (o.id=3, t.c, null)),0)
from t
join t_order o on o.b=t.b
group by t.A

参见db-fiddle

关于mysql - 使用查询中给定的行数生成 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59120964/

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