簡體   English   中英

查詢數據庫中的所有表

[英]Query All Tables In A Database

我肯定只是在這里歪曲我的聲明。 我想獲得滿足兩個條件的所有表的列表(但它返回0)。 如果我單獨運行每個語句,它們每個都返回多個表,但是返回並在查詢中返回0表(我知道這是不正確的)。 我需要更改什么才能成功執行此操作?

作品

select 
    table_name, column_name
from  
    information_schema.columns 
where 
    column_name ILIKE 'Man%'

作品

select 
    table_name, column_name
from 
    information_schema.columns 
where 
    column_name ILIKE 'sale%'

返回0結果

select 
    table_name, column_name
from 
    information_schema.columns 
where 
    (column_name ILIKE 'man%'
     and column_name ILIKE 'sale%')
order by 
    table_name asc

我想返回具有以man開頭的列和僅以sale開頭的列的表。 有沒有辦法實現這個結果?

你可以這樣做

select a.table_name,a.column_Name,b.column_Name from 
(select table_name, column_name
from information_schema.columns 
where column_name ILIKE 'Man%') a,
(select table_name, column_name
from information_schema.columns 
where column_name ILIKE 'sale%')b
where a.table_name=b.table_name
order by a.table_name asc

正如我所說,我不熟悉postgresql所以這可能不起作用。 :)

select a.table_name, a.column_name, b.column_name
from information_schema.columns a
join information_schema.columns b on a.table_name=b.table_name
where (a.column_name ILIKE 'man%'
AND b.column_name ILIKE 'sale%')
ORDER BY table_name ASC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM