gpt4 book ai didi

sql - Oracle 查找具有特定列的所有表

转载 作者:行者123 更新时间:2023-12-04 23:43:41 26 4
gpt4 key购买 nike

我想在我的数据库中找到所有包含两列 LOCATIONASSET_ID 的表

所以我尝试了这个:

select owner, table_name, column_name
from all_tab_columns
where column_name in ('LOCATION','ASSET_ID');

问题是此查询给出了所有具有 LOCATIONASSET_ID 的表,而不是两者。

所以我把它改成这样:

select owner, table_name, column_name
from all_tab_columns
where 1=1
and column_name ='LOCATION'
and column_name = 'ASSET_ID';

它显示 0 个结果。

请帮忙。

最佳答案

选择您最初尝试时的所有行。然后按 ownertable_name 分组,只保留在初始查询中返回两行的那些。为此使用 having 子句:

select   owner, table_name
from all_tab_columns
where column_name in ('LOCATION','ASSET_ID')
group by owner, table_name
having count(*) = 2
;

关于sql - Oracle 查找具有特定列的所有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47981006/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com