表1
- | a | b | C | d | e |
- |----+----+----+----+----|
- | 1 | 2 | 3 | 2 | 9 |
- | 2 | 3 | 2 | 3 | 5 |
- | 3 | 8 | 4 | 4 | 2 |
- | 4 | 9 | 8 | 5 | 3 |
- | 5 | 1 | 9 | 7 | 1 |
- | 6 | 12 | 10 | 9 | 10 |
表2
- | a2 | b2 | C2 | d2 | e2 |
- |----+----+----+----+----|
- | 1 | 2 | 3 | 2 | 9 |
- | 2 | 3 | 2 | 3 | 5 |
- | 3 | 8 | 4 | 4 | 2 |
- | 4 | 9 | 8 | 5 | 3 |
- | 5 | 1 | 9 | 7 | 1 |
- | 6 | 12 | 10 | 9 | 10 |
我想要的结果:
2,3
因为 2 和 3 在这两个表的所有列中都很常见。
我已经尝试过:
SELECT DISTINCT c1.a FROM `table1` c1
JOIN `table1` c2 ON ( c1.a = c2.b )
JOIN `table1` c3 ON ( c2.b = c3.c )
JOIN `table1` c4 ON ( c3.c = c4.d )
JOIN `table1` c5 ON ( c4.d = c5.e )
LIMIT 0 , 10
它适用于 table1,但如何连接更多表。
最佳答案
完全一样:
SELECT DISTINCT c1.a FROM `t1` c1
JOIN `t1` c2 ON ( c1.a = c2.b )
JOIN `t1` c3 ON ( c2.b = c3.c )
JOIN `t1` c4 ON ( c3.c = c4.d )
JOIN `t2` c5 ON ( c4.d = c5.a )
JOIN `t2` c6 ON ( c5.b = c6.c )
JOIN `t2` c7 ON ( c6.c = c7.d )
LIMIT 0 , 10
检查这个 fiddle :http://sqlfiddle.com/#!2/46ade/6
关于php - Mysql 查询查找多个表的多个列中共有的记录。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22412373/