使用兩列透視資料
此問題解決了從每行代表一個使用者及其對應組織的格式中透視資料的需求並將位置設定為每行包含一個使用者及其按語言分組的組織和職位的格式。
提供的範例顯示原始資料儲存在一個表格中,其中每行包含使用者 ID、組織、職位和語言。所需的輸出是有一個表,其中每行包含使用者 ID、其組織和每種語言的位置。
為了實現此目的,可以使用資料透視查詢來轉換資料。使用者提供的查詢是一個很好的起點,但需要額外的修改才能實現所需的輸出。
以下修改後的查詢應該可以工作:
SELECT user_id, MAX(CASE WHEN lang = 'EN' THEN org END) AS org_en, MAX(CASE WHEN lang = 'EN' THEN position END) AS position_en, MAX(CASE WHEN lang = 'FI' THEN org END) AS org_fi, MAX(CASE WHEN lang = 'FI' THEN position END) AS position_fi, MAX(CASE WHEN lang = 'SV' THEN org END) AS org_sv, MAX(CASE WHEN lang = 'SV' THEN position END) AS position_sv FROM source GROUP BY user_id;
此查詢使用CASE語句將lang 列與所需的語言進行比較,如果滿足條件,則返回相應的組織或位置。然後使用 MAX() 函數聚合每個使用者 ID 的結果。
以上是如何使用兩列(組織和職位)按語言透視使用者資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!