gpt4 book ai didi

MYSQL查询匹配两个表中的多个值

转载 作者:行者123 更新时间:2023-11-30 00:09:53 25 4
gpt4 key购买 nike

我在修复 MYSQL 查询时遇到问题,该查询将在 2 个关系表之间找到“匹配项”。例如,如果传入的 TABLEA ID 为 2,那么我想返回 TABLEB 中的所有 ID,其中单个 TABLEB ID 存在两个 TABLEA 值(b 和 c)。希望这是有道理的!在这种情况下,它不会返回任何内容。但是,当传入 ID 3 时,它将返回 13,因为 d 和 e 存在于 TABLEB 中 ID 13 行中。非常感谢任何帮助!

TABLEA

ID | VALUE
1 | a
2 | b
2 | c
3 | d
3 | e


TABLEB

ID | VALUE
10 | a
12 | b
12 | z
13 | d
13 | e
13 | f

最佳答案

您可以尝试此查询。

更新:

在 MySQL 中:

SELECT        tab_b.ID
FROM TABLEB tab_b
WHERE tab_b.VALUE IN (SELECT TABLEA.VALUE
FROM TABLEA
WHERE TABLEA.ID = 3)

GROUP BY tab_b.ID
HAVING COUNT(DISTINCT tab_b.VALUE) = (SELECT COUNT(TABLEA.VALUE)
FROM TABLEA
WHERE TABLEA.ID = 3)

MySQL 中检查这个 Fiddle: -> http://sqlfiddle.com/#!2/b1aba/10

SQL Server 中进行操作: -> http://sqlfiddle.com/#!3/b0d63/3

(您必须将值从 2 更改为 3 才能看到所需的结果)

希望这有帮助!!!

关于MYSQL查询匹配两个表中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24170333/

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