gpt4 book ai didi

mysql - 如何在 mysql 中组合或合并两个结果集?

转载 作者:行者123 更新时间:2023-11-29 06:08:16 24 4
gpt4 key购买 nike

我有两个结果集 A 和 B

表A是这样的

+------+---------+------------+
| a_id | item no | total sold |
+------+---------+------------+
| 1 | 101 | 23 |
| 2 | 102 | 34 |
| 4 | 405 | 54 |
| 5 | 506 | 65 |
| 6 | 104 | 23 |
+------+---------+------------+

B表是这样的

+------+---------+----------+
| b_id | item no | location |
+------+---------+----------+
| 1 | 101 | A1 |
| 2 | 102 | A2 |
| 3 | 103 | A3 |
| 4 | 104 | A4 |
+------+---------+----------+

我想实现如下输出

+------+---------+------------+----------+
| a_id | item no | total sold | location |
+------+---------+------------+----------+
| 1 | 101 | 23 | A1 |
| 2 | 102 | 34 | A2 |
| 4 | 405 | 54 | NULL |
| 5 | 506 | 65 | NULL |
| 6 | 104 | 23 | A4 |
+------+---------+------------+----------+

我想将“LOCATION”列附加到表 A 并显示表 B 中存在的每个项目编号的位置值。如果表 A 中的项目编号没有位置值,则 LOCATION 值具有为 NULL(即 EMPTY)。

由于是初学者,不知道怎么实现。我尝试使用 UNION 但未能编写正确的查询

最佳答案

您正在寻找的是一个 Join。特别是 Left Outer Join,这样您就可以从左表 (TableA) 中获得所有结果,并且仅从右表 (TableB) 中获得匹配的结果。

指定连接时,您使用ON 子句告诉数据库哪些字段在表之间相关:

SELECT
a_id,
a.itemno,
a.totalsold,
b.location
FROM
tableA
LEFT OUTER JOIN tableB ON
tableA.itemno = tableB.itemno

关于mysql - 如何在 mysql 中组合或合并两个结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40006845/

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