gpt4 book ai didi

Mysql - 与字段动态内容无关的联合表

转载 作者:行者123 更新时间:2023-11-29 10:35:12 25 4
gpt4 key购买 nike

我的数据库中有两个表,它们之间没有关系。第一个表有 old_item 的描述。第二个表包含这些 old_item 更新的描述。

例如,

表1

mysql> SELECT
coil_no
FROM coil
WHERE coil.coil_no = "DNA07X2B419011701A";
Empty set (0.00 sec)

表2

mysql>SELECT
coil_no
FROM stock_taking_hanwa
WHERE stock_taking_hanwa.coil_no = "DNA07X2B419011701A";
+--------------------+
| coil |
+--------------------+
| DNA07X2B419011701A |
+--------------------+
1 row in set (0.00 sec)

如果你能看到,coil_no 就是关键。我像这样使用内连接:

SELECT
c.coil_no as old_item,
sth.coil_no as newest_item
FROM coil c
INNER JOIN stock_taking_hanwa sth
ON sth.coil_no = c.coil_no

WHERE c.coil_no = "DNA07X2B419011701A" OR sth.coil_no = "DNA07X2B419011701A"

但它给了我空集(0.00秒)

我需要这样的格式:

   +--------------------+--------------------+
| old_item | new_item |
+--------------------+--------------------+
| | DNA07X2B419011701A |
+--------------------+--------------------+

注意:有时在另一种情况下,反之亦然。

   +--------------------+--------------------+
| old_item | new_item |
+--------------------+--------------------+
| "Some item" | |
+--------------------+--------------------+

最佳答案

INNER JOIN 意味着您需要一行包含表 old_item 中的一条记录和 new_item 中的一条记录。如果其中一项不存在,则不会返回任何记录。

在 mysql 中,你没有 FULL JOINS,所以你不能以这种方式选择任何值...

您可以使用 UNION ALL 连接两个查询(一个使用 LEFT JOIN,另一个使用 RIGHT JOIN),但它在大型表上的性能并不好...

可能最好的办法是进行两个单独的查询,然后详细说明结果,但这取决于后端

关于Mysql - 与字段动态内容无关的联合表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46542219/

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