gpt4 book ai didi

mysql - SQL:组合两个查询结果,它们有一个共同的列,但每个都有自己特定的唯一列

转载 作者:行者123 更新时间:2023-12-04 07:39:00 25 4
gpt4 key购买 nike

我正在努力寻找正确的方法来实现我想要实现的目标。
所以这就是我所拥有的:
查询 A 给我以下结果:


培训编号
总通行证


2
5

3
7

4
8


查询 B 给了我以下信息


培训编号
总失败


2
3

6
7

7
9


我想要的结果如下:


培训编号
总通行证
总失败


2
5
3

3
7
空值

4
8
空值

6
空值
7

7
空值
9


我尝试通过将左连接和右连接与联合相结合来模拟 MySQL 中的外部连接,但结果并不是我想要的,但我可以得到最接近的结果。也许我的主要问题是我不知道一个术语来描述我正在尝试做的这个操作到底是什么,所以我不知道要搜索什么。

最佳答案

在第一个查询中添加 NULL totalFail 的列并在第二个查询中添加 NULL totalPass 的列.
使用 UNION ALL 获取所有行并聚合:

SELECT TrainingID,
MAX(totalPass) AS totalPass,
MAX(totalFail) AS totalFail
FROM (
SELECT TrainingID, totalPass, NULL AS totalFail
FROM QueryA
UNION ALL
SELECT TrainingID, NULL, totalFail
FROM QueryB
) t
GROUP BY TrainingID
查看简化版 demo .

关于mysql - SQL:组合两个查询结果,它们有一个共同的列,但每个都有自己特定的唯一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67588031/

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