如何从oracle DB中的同一个表中获取多个数据以适应各种条件

时间:2016-01-11 04:49:49

标签: oracle toad

我想获得4列。这些东西都在同一列上。但我想从不同的条件中得到它们。所以我跑了。

  SELECT cd_nm ,cd_nm , cd_nm , cd_nm FROM HAKSA.HL_NCS_C where CD_LVL=1,2,3,4;

嗯,我知道这肯定没有用,我知道这是错误的sql语句。所以我跑

  SELECT cd_nm ,cd_nm , cd_nm , cd_nm FROM HAKSA.HL_NCS_C where CD_LVL=1;
绝对,我有4个相同的专栏。 但我不知道如何实现我的目标,我想你会知道我想要什么。

1 个答案:

答案 0 :(得分:0)

很难从给定的信息中猜出你真正想要的是什么,但我想你想根据cd_nm来调整cd_lvl的值,这是执行此操作的代码.. < / p>

SELECT min(case when CD_LVL = 1 then cd_nm else null end) as cd_nm_1,
       min(case when CD_LVL = 2 then cd_nm else null end) as cd_nm_2,
       min(case when CD_LVL = 3 then cd_nm else null end) as cd_nm_3,
       min(case when CD_LVL = 4 then cd_nm else null end) as cd_nm_4
 FROM HAKSA.HL_NCS_C 
where CD_LVL in (1,2,3,4);

如果这不是你想要的,那么发布一些样本数据和你想要的输出。