我想执行以下操作。
让我们说数据看起来像这样
Number letter
1 b
1 c
1 a
2 d
2 b
2 c
3 a
3 b
3 c
我想按以下方式对数据进行过滤以获取所有不同的数字,然后还要过滤出字母d
输出应该如下
Number letter
1
2
2 d
3
这可能吗?
我可以在两个表中执行此操作,但是我想知道是否有可能将其合并为一个表
谢谢
克里斯
答案 0 :(得分:0)
这应该做到:
select distinct number, case when letter = 'd' then 'd' end letter from mytable
在Oracle中,您可以使用decode
来缩短查询时间:
select distinct number, decode(letter, 'd', 'd') letter from mytable
答案 1 :(得分:0)
union all
怎么样?
select distinct number, null as letter
from t
union all
select number, 'd'
from t
where letter = 'd';