+ -
当前位置:首页 → 问答吧 → ORACLE SQL语句的问题

ORACLE SQL语句的问题

时间:2011-12-13

来源:互联网

请问在oracle里面 sql语句可以执行加法操作吗? 

语句如下:

1、select count(INFOID) +60 from b_t_READINFO WHERE USERID='3BE043AF21F243C98A9EFF914ADD1230'

2、select decode(sum(FDFS),null,0,sum(FDFS)) s from B_T_ZWCPTJ where YHID='3BE043AF21F243C98A9EFF914ADD1230'

语句1执行后的结果是154,证明可以直接相加。

语句2执行后得到结果5,现在我想把语句1跟语句2整合成一条SQL最后并且得到结果159

帮帮忙吧! 亲

作者: yuanyebaby   发布时间: 2011-12-13

这样就行了:
SQL code
select to_number(add1.value)+ to_number(add2.value) sumvalue from
(select '154' value from dual) add1,
(select '5' value from dual) add2

作者: yixilan   发布时间: 2011-12-13

SQL code

select sum(t) from
(
select count(INFOID) +60 as t from b_t_READINFO WHERE USERID='3BE043AF21F243C98A9EFF914ADD1230'
union all
select decode(sum(FDFS),null,0,sum(FDFS)) as t from B_T_ZWCPTJ where YHID='3BE043AF21F243C98A9EFF914ADD1230'
)

作者: programmerxiaocai   发布时间: 2011-12-13

引用 2 楼 programmerxiaocai 的回复:

SQL code

select sum(t) from
(
select count(INFOID) +60 as t from b_t_READINFO WHERE USERID='3BE043AF21F243C98A9EFF914ADD1230'
union all
select decode(sum(FDFS),null,0,sum(FDFS)) as t from B_T_ZWCPT……


如果我还要连接其他的表进行查询呢?

作者: yuanyebaby   发布时间: 2011-12-13

select (select count(INFOID) +60 from b_t_READINFO WHERE USERID='3BE043AF21F243C98A9EFF914ADD1230')+
(select decode(sum(FDFS),null,0,sum(FDFS)) s from B_T_ZWCPTJ where YHID='3BE043AF21F243C98A9EFF914ADD1230') from dual;

作者: andyguan01_2   发布时间: 2011-12-13

连接其他表的时候 你把查询出来的结果,作为一个虚表,来进行操作。

作者: programmerxiaocai   发布时间: 2011-12-13

SELECT
AA.GWBH,
AA.GWMC,
AA.BMID,
BB.ID,
BB.GWID,
BB.YHID,
BB.SFZZ,
CC.USERNAME,
CC.USERID
FROM
IEJU.B_T_GWXX AA
Inner Join IEJU.B_T_GWRY BB ON AA.GWBH = BB.GWID
LEFT Join IEJU.S_USERINFO CC ON BB.YHID = CC.USERID
WHERE BB.SFZZ = 1 AND AA.BMID='C8608CDF88F247E78810C7E9CFADC026'

我在这个查询里面把刚才的那个统计查询加上 where条件等于CC.USERID

作者: yuanyebaby   发布时间: 2011-12-13

SQL code

SELECT
AA.GWBH,
AA.GWMC,
AA.BMID,
BB.ID,
BB.GWID,
BB.YHID,
BB.SFZZ,
CC.USERNAME,
CC.USERID
FROM
IEJU.B_T_GWXX AA
Inner Join IEJU.B_T_GWRY BB ON AA.GWBH = BB.GWID
LEFT Join IEJU.S_USERINFO CC ON BB.YHID = CC.USERID
WHERE BB.SFZZ = 1 AND AA.BMID='C8608CDF88F247E78810C7E9CFADC026'
and CC.USERID=(select sum(t) from
(
select count(INFOID) +60 as t from b_t_READINFO WHERE USERID='3BE043AF21F243C98A9EFF914ADD1230'
union all
select decode(sum(FDFS),null,0,sum(FDFS)) as t from B_T_ZWCPTJ where YHID='3BE043AF21F243C98A9EFF914ADD1230'
)
)



作者: programmerxiaocai   发布时间: 2011-12-13