Tôi có dữ liệu ở định dạng được xoay vòng. Nó trông giống như thế này:Xoay vòng dữ liệu bằng hai cột
-----------------------------------------
| user_id | org | position | lang |
-----------------------------------------
| 1001 | USE | Boss | EN |
| 1001 | USD | Bossa | FI |
| 1002 | GWR | Dim | SV |
| 1003 | GGA | DCS | FI |
| 1003 | GCA | DDD | SV |
-----------------------------------------
Tôi muốn có dữ liệu biểu diễn dưới dạng:
-------------------------------------------------------------------------------------
| user_id | org_fi | position_fi | org_en | position_en | org_sv | position_sv |
-------------------------------------------------------------------------------------
| 1001 | USD | Bossa | USE | Boss | | |
| 1002 | | | | | GWR | Dim |
| 1003 | GGA | DCS | | | GCA | DDD |
-------------------------------------------------------------------------------------
Tôi nghĩ rằng một truy vấn trục với kết nối bằng lệnh là cần thiết.
Đây là những gì tôi đã cố gắng để làm:
SELECT user_id,
org,
position,
lang,
ROW_NUMBER() OVER (PARTITION BY lang, user_id ORDER BY ROWID) rn
FROM source
Tuy nhiên, tôi không có ý tưởng làm thế nào để đi về phía trước.
bạn có cố sử dụng lệnh PIVOT không? http://www.oracle.com/technetwork/articles/sql/11g-pivot-097235.html – tbone
vâng, tôi đã cố gắng sử dụng trục xoay. Nhưng vấn đề là tôi nhận được 1,2,3,4,5 .... trong giá trị rn từ truy vấn của tôi, vì vậy tôi đang bị mắc kẹt ngay bây giờ mà làm thế nào tôi có thể sử dụng trục trong tình huống này – Jaanna
ví dụ trục cung cấp – tbone