求一个SQL语句 我是ORACLE 10的数据库,数据表A两个列 A1,A2都是NUMBER型,数据表B 有B1(NUMBER).我现在要做一个SQL查询。查询的结果某列值为 A1*A2*B1 ,问题是这样的数据表中这三个字段可能为空,我的计算要在三个值都不为空的情况下做,如有三个值有一个为空,我显示的内容为“数据不全”。这些用一条SQL怎么实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select decode((nvl(a1,0)*nvl(a2,0)*nvl(b1,0)),0,'数据不全') from a,b where a.a1=b.b1;你看行不行,将空值转为零,只要有一个值为空时,即结果为0。当结果为0时。即满足条件:数据不全';我没试,你试试看 select decode((nvl(a1,0)*nvl(a2,0)*nvl(b1,0)),0,'数据不全') from a,b where a.a1=b.b1 where (a.a1 is null or a.a2 is null or b.b1 is null)你再加个条件 select (CASE WHEN A1 IS NULL THEN '数据不全' WHEN A2 IS NULL THEN '数据不全' WHEN B1 IS NULL THEN '数据不全' ELSE A1*A2*B2 END) AS accountfrom A,B oracle 用NVL来搞比较好吧 楼上的 你说我么?呵呵,nvl是比较方便,可如果说起效率,是没有case效率高的 在mssql中null加减乘除任何值都等于null 在oracle中我不知道如果一样的话:select (CASE WHEN A1*A2*B2 IS NULL THEN '数据不全' ELSE A1*A2*B2 END) AS accountfrom A,B 急急!! JS如何获取fileupload的本地绝对路径,兼容FF 给GridView里的Label赋值 一个超级简单的变量问题,知道原因解释一下!! AJAX 中的JSON 的一点问题! 我的程序不能Debug了,不能用localhost运行程序了,这是为什么?????? 怪问题:能不能把控件DataGrid调90度放置? asp.net2。0 关于TabStrip控件的用法 crystal report中如何改变报表宽度 100分 listview边框问题 asp.net中page_load中如何延迟一定时间再触发某一按钮事件
select decode((nvl(a1,0)*nvl(a2,0)*nvl(b1,0)),0,'数据不全') from a,b where a.a1=b.b1;你看行不行,将空值转为零,只要有一个值为空时,即结果为0。当结果为0时。即满足条件:数据不全';
我没试,你试试看
select decode((nvl(a1,0)*nvl(a2,0)*nvl(b1,0)),0,'数据不全') from a,b where a.a1=b.b1 where (a.a1 is null or a.a2 is null or b.b1 is null)你再加个条件
select
(CASE
WHEN A1 IS NULL THEN
'数据不全'
WHEN A2 IS NULL THEN
'数据不全'
WHEN B1 IS NULL THEN
'数据不全'
ELSE
A1*A2*B2
END) AS account
from A,B
在oracle中我不知道
如果一样的话:select (CASE WHEN A1*A2*B2 IS NULL THEN
'数据不全' ELSE A1*A2*B2
END) AS account
from A,B