Php 在mysql中的不同表中查找相等的列
有三个表,每个表大约有60列,我必须找到它们之间的所有公共列Php 在mysql中的不同表中查找相等的列,php,mysql,select,Php,Mysql,Select,有三个表,每个表大约有60列,我必须找到它们之间的所有公共列 有没有一种方法可以自动找到三个不同表之间的公共列?我不知道您的表是什么样子,所以我只想写下我将如何做(p.S有更好的方法) 1) 从第一个表中选择所有值 2) 做两个循环,第一个从第二个表搜索,第二个从第三个表搜索 3) 计算行数 4) 如果行数不止一行,您就知道有重复的行。为什么需要它,因为更好的方法是检查所有三个表中是否存在值,而不是从表中获取所有值,然后搜索公共结果。这正是我需要的。这甚至是非常直观的。非常感谢。 select
有没有一种方法可以自动找到三个不同表之间的公共列?我不知道您的表是什么样子,所以我只想写下我将如何做(p.S有更好的方法) 1) 从第一个表中选择所有值 2) 做两个循环,第一个从第二个表搜索,第二个从第三个表搜索 3) 计算行数
4) 如果行数不止一行,您就知道有重复的行。为什么需要它,因为更好的方法是检查所有三个表中是否存在值,而不是从表中获取所有值,然后搜索公共结果。这正是我需要的。这甚至是非常直观的。非常感谢。
select distinct COLUMN_NAME, count(TABLE_NAME) as COMMON_COUNT
from information_schema.COLUMNS
where TABLE_NAME in ('table1', 'table2', 'table3') and TABLE_SCHEMA = 'dbname'
group by TABLE_SCHEMA, COLUMN_NAME
having COMMON_COUNT > 1