根据表中其他列的值,从同一个表中的2列中选择信息

时间:2014-11-21 17:37:23

标签: sql oracle11g

我有一个包含A,B,C,D,E列的表,E列的值为0或1,因此,我想创建一个查询,向我显示此信息,此信息取决于值列E

A,B,C A,B,D

例如

如果E = 0,

从表中选择*   A,B,C 其他  A,B,D

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

使用CASE WHENCD

之间做出决定
select
   A,
   B,
   CASE WHEN E=0
     THEN C
   ELSE D
   END CASE
from 
  my_table;

答案 1 :(得分:0)

试试这个。

SELECT A,
       B,
       C,
       'E=0'
FROM   my_table
WHERE  E = 0
UNION ALL
SELECT A,
       B,
       D,
       'E=1'
FROM   my_table
WHERE  E = 1