在POSTGRESQL中按名称访问列

时间:2015-05-26 19:37:11

标签: sql postgresql information-schema

我有下表:

b

是否可以编写将返回的select语句:

column_name | a | b
--------------------
     a      | 0 | 1 
--------------------
     b      | 2 | 3

(我想根据column_name中指定的名称选择一列)

诀窍是我不知道我将拥有多少列以及它们的名称(column_name列除外)

我无法创建临时表,函数等。是的,它是我大学SQL课程任务的一部分,仍然不是任务本身,所以我相信我可以在这里寻求帮助。

2 个答案:

答案 0 :(得分:1)

select case when column_name='b' then b else a end
from ...

基本上?它不仅仅是几个专栏,而且非常难以理解。

答案 1 :(得分:0)

您可以使用postgresql json数据类型(及其相关功能):

select row_to_json(table_name)->>(row_to_json(table_name)->>'column_name') from table_name;