我想通过在Oracle 10g中编写sql查询来显示输出如下?

时间:2013-08-06 14:40:32

标签: sql oracle pivot

在我的架构中,我有dept表数据如下

dept_id       dept_name   
  10             IT
  20             EE
  30             EC
  40             OP

我想得到如下输出,我不想显示列标题dept_id和dept_name

 IT         EE           EC          OP      
 10         20           30          40  

所以,请帮助我得到结果。这个问题由访问员提出。

1 个答案:

答案 0 :(得分: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