【发布时间】:2012-12-03 15:46:21
【问题描述】:
我正在尝试从包含列“lang”和“project”的指定数据库中选择所有表。这就是我正在做的:
SELECT DISTINCT(ISC1.TABLE_NAME) AS `table` FROM INFORMATION_SCHEMA.COLUMNS AS ISC1
JOIN INFORMATION_SCHEMA.COLUMNS AS ISC2 ON
(ISC1.TABLE_SCHEMA=ISC2.TABLE_SCHEMA AND ISC1.TABLE_NAME=ISC2.TABLE_NAME AND ISC2.COLUMN_NAME='project')
WHERE ISC1.COLUMN_NAME='lang' AND ISC2.COLUMN_NAME='project' AND ISC1.TABLE_SCHEMA='some_database'
- 它确实有效,但我觉得编写这种查询的方式很糟糕。如果有人可以改进它,那就太好了。
- 现在我必须更改此查询以选择所有具有“lang”列但没有“project”列的表。老实说,我不知道从哪里开始......
感谢您的帮助
【问题讨论】: