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 回答