【问题标题】:I want to display the output as follows by writing sql query in Oracle 10g? [duplicate]我想通过在Oracle 10g 中编写sql 查询来显示如下输出? [复制]
【发布时间】:2013-08-06 22:55:23
【问题描述】:

在我的架构中,我的部门表数据如下

dept_id       dept_name   
  10             IT
  20             EE
  30             EC
  40             OP

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

 IT         EE           EC          OP      
 10         20           30          40  

所以,请帮助我得到结果。这个问题是面试官问的。

【问题讨论】:

    标签: sql oracle pivot


    【解决方案1】:

    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
    

    【讨论】:

    • 谢谢 Ed Gibbs.. 非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多