Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在mysql中的不同表中查找相等的列_Php_Mysql_Select - Fatal编程技术网

Php 在mysql中的不同表中查找相等的列

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

有三个表,每个表大约有60列,我必须找到它们之间的所有公共列


有没有一种方法可以自动找到三个不同表之间的公共列?

我不知道您的表是什么样子,所以我只想写下我将如何做(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