【问题标题】: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 或自加入。

标签: mysql sql


【解决方案1】:

使用ORIN
然后按 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')
    

    【讨论】:

      猜你喜欢
      • 2015-04-03
      • 2021-12-13
      • 1970-01-01
      • 2011-02-13
      • 2023-01-13
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 2010-12-29
      相关资源
      最近更新 更多