突然想到说,我要选择的学生奖学金,并加入到该值150,并为那些没有奖学金添加100.I尝试:SQL甲骨文增加值
选择名,奖学金+ 150来自法布氏不是零的学生的“新奖学金”工会选择名称,奖学金+ 100作为来自布尔萨无效的学生的“新奖学金”;
但只有那些谁了奖学金,增加了新的价值。可以请你帮我
突然想到说,我要选择的学生奖学金,并加入到该值150,并为那些没有奖学金添加100.I尝试:SQL甲骨文增加值
选择名,奖学金+ 150来自法布氏不是零的学生的“新奖学金”工会选择名称,奖学金+ 100作为来自布尔萨无效的学生的“新奖学金”;
但只有那些谁了奖学金,增加了新的价值。可以请你帮我
如果奖学金可能是NULL与NVL(奖学金,0)或COALESCE(奖学金,0更换)
select scholarship + case when bursa is not null then 150 else 100 end ...
或
select scholarship + decode (bursa,null,100,150) ...
或
select scholarship + nvl2 (bursa,150,100) ...
您的查询应该是工作的罚款,除非你可能会遭遇以下原因
1)原因1:
算术运算NULL
+在NULL
Integer_constant结果。简单地说,将值添加到Null会让您空。
2)原因2:
“Union
消除重复的值”。您可以通过检查使用Union All
select name,scholarship+150 as "New scholarship" from students where bursa is not null
union all
select name,scholarship+100 as "New scholarship" from students where bursa is null;