如何在数据库中查找具有两个列名的表
Posted
技术标签:
【中文标题】如何在数据库中查找具有两个列名的表【英文标题】:How to find tables with two column names in a database 【发布时间】:2021-12-30 14:24:28 【问题描述】:我正在尝试在具有两个列名的数据库中查找表。如果我尝试在数据库中搜索具有一个列名的表,我可以拉回具有该列的表名列表,但是当我为 2 列执行此操作时,我什么也拉不回来。
这是我一直在使用的:
select table_name from all_tab_columns
where column_name = 'COLUMN_1' and column_name = 'COLUMN_2'
【问题讨论】:
GROUP BY 或自加入。 【参考方案1】:使用OR
或IN
。
然后按 table_name 分组,应该有 2 列。
MySql
SELECT table_name
FROM information_schema.columns
WHERE column_name IN ('COLUMN_1', 'COLUMN_2')
GROUP BY table_name
HAVING COUNT(column_name) = 2
Oracle 数据库
SELECT table_name
FROM all_tab_columns
WHERE column_name IN ('COLUMN_1', 'COLUMN_2')
GROUP BY table_name
HAVING COUNT(column_name) = 2
【讨论】:
【参考方案2】:你可以使用:
select table_name
from all_tab_columns
where column_name = 'COLUMN_1'
and table_name in (select table_name
from all_tab_columns
where column_name = 'COLUMN_2')
【讨论】:
以上是关于如何在数据库中查找具有两个列名的表的主要内容,如果未能解决你的问题,请参考以下文章
消息:未定义的索引:获取列名时(两个具有相同列的表)Codeigniter