은 내가 prefs
테이블을 가지고 있고, 여기에 관련 열은 다음과 같습니다 PostgreSQL의 크로스 탭/피벗 문제
section | pager_number | pager_carrier
---------+----------------+---------------
1 | 2125551234 |
2 | | @att.com
3 | | @something.com
그래서 나는이 다음, 크로스 탭을 사용 :이 같은 무언가를 생산하려는
mydb=> SELECT pref_id, pref_name, pref_value FROM prefs;
pref_id | pref_name | pref_value
---------+--------------+----------------
1 | PagerNumber | 2125551234
2 | PagerCarrier | @att.com
3 | PagerCarrier | @something.com
SELECT row_name AS section,
category_1::text AS pager_number,
category_2::text AS pager_carrier
FROM crosstab('select pref_id::bigint, pref_name::text, pref_value::text
FROM prefs')
AS ct (row_name bigint, category_1 text, category_2 text);
모든 값이 들어가 있습니다 : 유래에 대한 예 pager_number
및 pager_carrier
는 비어 :
section | pager_number | pager_carrier
---------+----------------+---------------
1 | 2125551234 |
2 | @att.com |
3 | @something.com |
사람이 무슨 일이 일어나고 있는지 볼 수 있을까요?
고마워,하지만 당신의 솔루션에 차이가 없었고 나는 같은 결과를 얻을. 어디에서 구문 오류가 발생 했습니까? – nnyby
죄송합니다. 시도해 보려면 게시판에 액세스 할 수 없습니다. 이 예제에서와 같이 주문을 추가하십시오. – Edmon
나는 무슨 일이 일어나고 있는지보고있다. 당신은 크로스 탭을 얻고 있지만 당신이 기대하는 것처럼 보이지는 않는다. 그것은 교차 분석/선회 id 및 값입니다. 이름과 값의 조합을 더 삽입하십시오. 피벗을 표시해야합니다. 나는 또한 당신의 레이블이 당신을 혼란스럽게한다고 생각합니다. – Edmon