【发布时间】:2012-02-28 12:20:02
【问题描述】:
我有一张桌子t1 如下:
create table t1 (
person_id int,
item_name varchar(30),
item_value varchar(100)
);
这张表有5条记录:
person_id | item_name | item_value
1 'NAME' 'john'
1 'GENDER' 'M'
1 'DOB' '1970/02/01'
1 'M_PHONE' '1234567890'
1 'ADDRESS' 'Some Addresses unknown'
现在我想用crosstab函数提取NAME,GENDER数据,所以我写了一个SQL为:
select * from crosstab(
'select person_id, item_name, item_value from t1
where person_id=1 and item_name in ('NAME', 'GENDER') ')
as virtual_table (person_id int, NAME varchar, GENDER varchar)
我的问题是,如您所见crosstab() 中的SQL 包含item_name 的条件,这将导致引号不正确。
我该如何解决这个问题?
【问题讨论】:
标签: postgresql pivot quotes crosstab