gpt4 book ai didi

mysql - 比较 mysql 中的两个 Select 或表

转载 作者:行者123 更新时间:2023-11-29 00:49:46 24 4
gpt4 key购买 nike

我有两个表 Temporal_GroupProduct_Group

如果我对组表执行以下查询:

SELECT group.id_product FROM group
WHERE id_group=2

我回来了:

id_product
----------------
5

现在,如果我查询时态表

SELECT temporal.id_product FROM temporal

返回

id_product
----------------
5
14

我想要比较查询中的这 2 个结果并将差异返回给我......结果应该是 14 ......我试过这个:

SELECT group.id_product FROM group
WHERE group.id_product
NOT IN (
SELECT temporal.id_product
FROM temporal
WHERE group.id_product=temporal.id_product
)
AND group.id_group=2

但我不返回任何东西,还有另一种方法可以比较这些结果吗?我希望得到你的帮助。

最佳答案

您的尝试返回差异 A-B .我猜你想要对称差异 (A-B) UNION (B-A) :

    SELECT id_product
, 'group' AS only_in_table
FROM `group`
WHERE id_group = 2
AND id_product NOT IN
( SELECT id_product
FROM temporal
)
UNION ALL
SELECT id_product
, 'temporal' AS only_in_table
FROM temporal
WHERE id_product NOT IN
( SELECT id_product
FROM `group`
WHERE id_group = 2
)

使用group这样的保留字不好命名表或列,因为你必须以某种方式告诉 SQL 引擎它不是保留的“组”GROUP BY在 MySQL 中,这可以通过将它们括在反引号中来完成:`group` .

关于mysql - 比较 mysql 中的两个 Select 或表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9054050/

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