gpt4 book ai didi

mysql - SQL - 用联合重复一行

转载 作者:行者123 更新时间:2023-11-29 04:39:50 24 4
gpt4 key购买 nike

我有一个包含 4 行(id、fsn、所有者、IR、NI)的测试表

id: 1, fsn: 123, owner: jones, IR: 1000, NI: 2350
id: 2, fsn: 345, owner: smith, IR: 0, NI: 50
id: 3, fsn: 567, owner: casey, IR: 200, NI: 0,
id: 4, fsn: 789, owner: brown, IR: 400, NI: 0

我需要在 IR/NI 字段上拆分这些,以便我为每个 IR 和 NI 字段都有一个不为 0 的记录,因为我需要使用连接等分别处理每种类型。所以我在这一点上的最终输出 < strong>应该是

id: 2, fsn: 345, owner: smith, IR: 0, NI: 50
id: 3, fsn: 567, owner: casey, IR: 200, NI: 0,
id: 4, fsn: 789, owner: brown, IR: 400, NI: 0,
id: 1, fsn: 123, owner: jones, IR: 1000, NI: 2350,
id: 1, fsn: 123, owner: jones, IR: 1000, NI: 2350

我认为下面的代码会完成拆分,但它不会像我需要的那样重复该行。

SELECT *
FROM farms
WHERE IR != 0

UNION

SELECT *
FROM farms
WHERE NI != 0

最佳答案

我不太确定为什么要将这一行加倍,但有一个简单的方法可以解决它:使用 union all 集合运算符,它的作用类似于 union 运算符但不删除重复项:

SELECT *
FROM farms
WHERE IR != 0

UNION ALL -- Here!

SELECT *
FROM farms
WHERE NI != 0

关于mysql - SQL - 用联合重复一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32177584/

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