각 행마다 user_id, field_id 및 field_value가있는 타사 소프트웨어 (예 : user_fields)가 사용하는 테이블이 있습니다. 진절머리 나 알고있어."사용자 정의 필드"를 업데이트하기 위해 PostgreSQL 행을 여러 행으로 확장하는 방법은 무엇입니까?
"magic"인 field_id를 제외하고 사용자 정의 필드 매핑에 해당하는 값을 포함하는 다른 사용자 테이블도 있습니다. 이 속으로
user_id | company_name | first_name | country
---------------------------------------------------
1 | Nutty Choc Company | Si | GB
2 | Ljubljanske R Us | Pie | IT
:
는어떻게이 바뀝니다 선택 쿼리를 작성할 수 있습니다? 내가 쿼리를 PostgreSQL을 8.4을 사용하고 의도하고있어
user_id | field_value | field_id
---------------------------------------
1 | Nutty Choc Company | 10
1 | Si | 11
1 | GB | 12
2 | Ljubljanske R Us | 10
2 | Pie | 11
2 | IT | 12
은 삽입에 공급한다.
나는 unnest와 배열을 사용하여 필드를 행으로 확장했지만 select의 다른 필드를 처리 한 후에 중첩되지 않으므로 중첩되지 않은 행의 값을 복제합니다.
아이디어가 있으십니까?
건배, 시
편집 : 서식 및 사기 이름 - 값 테이블이 타사이라고 설명.
가독성을 높이려면 코드 예제를 들여 씁니다. –