【发布时间】:2019-06-13 16:27:31
【问题描述】:
我有三张桌子,A、B 和 C
表A和B有一个ID和其他字段,表C是A和B的n-n关系(C只包含A和B的IDS,主键(id_a,id_b)和外键)。
现在我需要验证 A 的一行是否与 A 的另一行具有相同的关联。
示例
A = [id_a] = [1,2,3,4]
B = [id_b] = [1,2,3,4]
C = [id_a, id_b] = [[1,1],[1,3],[2,1],[2,3],[3,3]]
在这种情况下,我只需要提取 id_a 为 1 和 2 的记录,因为它们都与 B 的同一行(id_b 1 和 3)相关联。
id_a=3 与 id_a=1/2 不同,因为它与 id_b=1 没有关联
这是一个新的 Ubuntu 18.04 服务器,运行 MySQL,PHP 7(LAMP 堆栈)
id_a=1 的示例
SELECT id_a
FROM C
WHERE id_b IN (SELECT id_b FROM B WHERE id_a=1)
GROUP BY id_a;
【问题讨论】: