-1

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

有没有办法自动找到三个不同表之间的公共列?

4

2 回答 2

1
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
于 2013-08-24T06:41:05.893 回答
0

我不知道你的桌子看起来如何,所以我就写一下我会怎么做(PS 可以有更好的方法)

1)从第一个表中选择所有值。

2)做两个循环,第一个从第二个表中搜索,第二个从第三个表中搜索。

3)计算行数。

4)如果行数超过一,你知道你有重复。

于 2013-08-24T06:21:03.807 回答