0

私のスキーマでは、次のように部署テーブルのデータがあります

dept_id       dept_name   
  10             IT
  20             EE
  30             EC
  40             OP

次のように出力を取得したいのですが、列見出し dept_id と dept_name を表示したくありません

 IT         EE           EC          OP      
 10         20           30          40  

だから、結果を得るために私を助けてください。インタビュアーからのこの質問。

4

1 に答える 1

0

Oracle 10g にはこのPIVOT機能がないため、次のようなものを使用する必要があります。

SELECT
  MAX(CASE WHEN dept_name = 'IT' THEN dept_id END) AS IT,
  MAX(CASE WHEN dept_name = 'EE' THEN dept_id END) AS EE,
  MAX(CASE WHEN dept_name = 'EC' THEN dept_id END) AS EC,
  MAX(CASE WHEN dept_name = 'OP' THEN dept_id END) AS OP
FROM dept
于 2013-08-06T14:55:23.580 に答える