gpt4 book ai didi

sql - 将可变数量的记录合并为一条记录

转载 作者:行者123 更新时间:2023-12-04 09:41:56 24 4
gpt4 key购买 nike

问题的要点是我需要合并来自 的多条记录。表A 基于共享 ID 将其插入到单个记录中,并将其插入 表 B .每个 Id 最多可以有 3 个与之关联的记录,最少有 1 个,是 Id 的首选目的地。如果记录少于最大首选项数,我想在 中将这些列设置为 NULL表 B .

下面是一个例子:

表A

ID | Preference| Destination
--------------------------
10 | 1 | Building A
10 | 2 | Building B
10 | 3 | Building C
23 | 1 | Building B
23 | 2 | Building A
45 | 1 | Building C

表 B
ID | Destination1 | Destination2 | Destination3
-----------------------------------------------
| | |

我想合并 中的记录表A 以便在 中显示表 B
ID | Destination1 | Destination2 | Destination3
-----------------------------------------------
10 | Building A | Building B | Building C
23 | Building B | Building A | NULL
45 | Building C | NULL | NULL

任何帮助是极大的赞赏!

最佳答案

您可以使用条件聚合:

select id,
max(case when preference = 1 then destination end) as destination1,
max(case when preference = 2 then destination end) as destination2,
max(case when preference = 3 then destination end) as destination3
from t
group by id;

关于sql - 将可变数量的记录合并为一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62292085/

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