PostgreSQL을 처음 사용합니다.수행 방법 동적 필드가있는 PostgreSQL에서 피벗/크로스 탭
id | customer_id | form_id | field_id | field_name | form_submission_id | value |
---+-------------+---------+----------+------------+--------------------+--------------+
1 | 2 | 7 | c313 | Program | 1 | 2013 |
2 | 2 | 7 | c313 | Program | 2 | PIP |
3 | 2 | 7 | c313 | Program | 3 | CIP |
4 | 2 | 7 | c343 | Broker | 1 | broker test |
5 | 2 | 7 | c343 | Broker | 2 | broker test1 |
6 | 2 | 7 | c343 | Broker | 3 | broker test2 |
7 | 2 | 7 | c339 | Class | 1 | Class test |
8 | 2 | 7 | c339 | Class | 2 | Class test1 |
9 | 2 | 7 | c339 | Class | 3 | Class test2 |
나는
customer_id form_id Program Broker Class form_submission_id
2 7 2013 broker test Class test 1
2 7 PIP broker test1 Class test1 1
2 7 CIP broker test2 Class test3 1
FIELD_NAME 값이 동적이 아닌 고정 값이됩니다 같은 기록을합니다.
select * from crosstab (
'select Distinct customer_id ,form_id , field_name from form_submissions_reports '
)
as newtable (
customer_id integer,form_id integer,field_id1 varchar,field_id2 varchar,field_id3 varchar
);
그러나 중요 그것은 필드 이름이 동적 '반환 및 SQL 튜플 설명이 호환되지 않는 오류가'
내가 좋아하는이 있지만 점점 오류를 시도합니다. 예를 들어 설정하려면
내가 구글이 있지만 answerd –
그래, 제대로하지. 관련된 contrib가 첫 번째 결과이며 관련 StackOverflow dup은 다음과 같습니다. http://stackoverflow.com/questions/3002499/postgresql-crosstab-query –
그러나 status 값은 고정되어 있습니다. field_name의 고정 값이 없습니다. –