我试图找到一种方法来从数据库中的所有表中获取所有公共字段。 这是我的代码
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
我想在不输入特定列名的情况下也这样做。
答案 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;