1
我需要兩行下列要求相結合幫助(它更容易使用表格來證明。):的Oracle SQL合併行值分隔列
我的模式是這樣的:
項目表:
project_id | name
--------------------------------
1 Project1
2 Project2
3 Project3
project_program表
id | project_id | program_id
-----------------------------------
1 1 1
2 1 2
2 3 2
節目表:
program_id | type | name
---------------------------------------
1 A test
2 B production
的select語句所需的輸出:
project_id | name | A | B
-------------------------------------------------------------------
1 Project1 test production
2 Project2 (null) (null)
2 Project3 (null) production
這是我已經設法到目前爲止來實現:
SELECT
project.*,
CASE WHEN program.type LIKE 'A' THEN program.name ELSE NULL END AS A,
CASE WHEN program.type LIKE 'B' THEN program.name ELSE NULL END AS B
FROM
project
LEFT JOIN project_program ON project.project_id = project_program.project_id
LEFT JOIN program ON project_program.program_id = program.program_id
這很接近但不完全。現在我的結果如下所示:
project_id | name | A | B
-------------------------------------------------------------------
1 Project1 test (null)
1 Project1 (null) production
2 Project2 (null) (null)
3 Project3 (null) production
我正在使用Oracle 11g。
感謝一個非常快的響應! –