我有 4 张表,这 4 张是一张联结表中的外键。
问题是我需要检索丢失的连接值。
例如:
Table A Table B Table C Table D
-------- --------- --------- ----------
1 4 7 A
2 5 8 B
JUNCTION TABLE
-----------------
1 4 7 A
1 4 7 B
1 4 8 A
1 4 8 B
1 5 7 A
1 5 7 B
1 5 8 A
1 5 8 B
2 4 7 A
2 4 7 B
2 4 8 A
2 4 8 B
2 5 7 A
2 5 7 B
2 5 8 A
2 5 8 B
因此,如果缺少列 1 5 8 B,当我运行查询时它会显示 1 5 8 B..
有什么想法吗?
最佳答案
我会在您的源表上使用交叉联接,然后将其结果联接到您的联结表。
编辑:感谢 andy holaday 指出 MySQL 没有 FULL OUTER JOIN。
select x.*
from (select *
from a,b,c,d) as x
left outer join j
on (x.a = j.a and
x.b = j.b and
x.c = j.c and
x.d = j.d)
where j.a is NULL and
j.b is NULL and
j.c is NULL and
j.d is NULL
关于mysql - 如何检查表中是否存在多对多对多...,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11660802/