如何从数据库中的所有表中查找公共字段?

时间:2012-10-31 11:33:54

标签: mysql inner-join columnname

我试图找到一种方法来从数据库中的所有表中获取所有公共字段。 这是我的代码

SELECT t.TABLE_NAME 
FROM information_schema.TABLES t
INNER JOIN information_schema.COLUMNS c 
   ON t.TABLE_NAME=c.TABLE_NAME
WHERE t.TABLE_SCHEMA = '<database_name>'
   AND c.COLUMN_NAME = '<column_name>'
GROUP BY t.TABLE_NAME

我想在不输入特定列名的情况下也这样做。

1 个答案:

答案 0 :(得分:0)

<强> EDITED

SELECT col,cnt from (
SELECT c.COLUMN_NAME col, count(*) cnt
FROM information_schema.TABLES t
INNER JOIN information_schema.COLUMNS c 
   ON t.TABLE_NAME=c.TABLE_NAME
WHERE t.TABLE_SCHEMA = '<database_name>'
GROUP BY c.COLUMN_NAME 
) tbl WHERE cnt>=2;