2015-06-01 40 views
0

我使用PostgreSQL,我想創建一個query,它將在特定的table中顯示所有column_names在postgesql中選擇所有column_names

Schema: codes 

Table Name: watch_list 

下面是我tablecolumn_names

watch_list_id, watch_name, watch_description 

我想我在網絡上找到:

SELECT * 
FROM information_schema.columns 
WHERE table_schema = 'codes' 
    AND table_name = 'watch_list' 

它的輸出不是我想要的。它應該是:

watch_list_id, watch_name, watch_description 

如何做到這一點?

+1

你得到的輸出是什麼? –

+0

table_catalog,table_schema,table_name,column_name,ordinal_position。 。 。 – ZSMJ

+0

在結果中'column_name'具有表中列的名稱.. –

回答

0
SELECT table_name FROM information_schema.tables WHERE table_schema='public' 
+0

這將顯示模式中的所有_tables_。 OP要求所有_columns_用於一個表。 –

+0

這將幫助你:SELECT column_name FROM information_schema.columns WHERE table_name ='watch_list' – Suraj

+0

這與本問題中已經顯示的查詢基本相同,它不會顯示單行中的列,但會顯示一行在每列的結果中 –

0

如果你想在一個單一的行中的所有列名,您需要聚合這些名字:如果刪除的表名的條件

SELECT table_name, string_agg(column_name, ', ' order by ordinal_position) as columns 
FROM information_schema.columns 
WHERE table_schema = 'codes' 
    AND table_name = 'watch_list' 
GROUP BY table_name; 

,你得到這個在所有的表架構。