0

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

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

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

4

1 回答 1

0

已编辑

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;
于 2012-10-31T11:42:39.170 回答