gpt4 book ai didi

sql - 将数据合并为一行

转载 作者:行者123 更新时间:2023-11-29 14:35:55 26 4
gpt4 key购买 nike

我有以下数据:

materials
==========================
id | quantity |type
---------+----------+-----
1 |111 |1
2 |240 |2
3 |412 |2
4 |523 |1

为了示例的简单起见,假设我需要按类型成对地选择 Material ,因此理想的结果如下所示:

id       | quantity |type |id       | quantity |type
---------+----------+-----+---------+----------+-----
1 |111 |1 |2 |240 |2
4 |412 |1 |3 |412 |2

数据将完美匹配,因此不会有成对的空条目。
到目前为止,我只能想到 union,就像这样:

select * from materials where type = 1
union all
select * from materials where type = 2

但显然,这不是我要找的。这可能吗?
附言请不要简化 ...where type in (1,2) 的答案,因为实际条件不能像那样合并。

最佳答案

假设“条件将找到恰好需要配对的实体”会生成一个名为 pairs 的表,其中包含 id1id2 列,然后

select
p.id1,
m1.quantity,
m1.type,
p.id2,
m2.quantity,
m2.type
from
pairs p
inner join materials as m1 on m1.id=p.id1
inner join materials as m2 on m2.id=p.id2;

关于sql - 将数据合并为一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44749011/

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