select (select tsec.acctbalance from TSECACCTSUBJ tsec where tsec.secacctno = tc.cardasn||'0A') cardbalance , (select tses.acctbalance from TSECACCTSUBJ tses where tses.secacctno = tc.uniid ) subbalance from TBASE_CUSTOMERS tc
我还想求出来 cardbalance+subbalance 应该怎么做?
我还想求出来 cardbalance+subbalance 应该怎么做?
SQL> select (select 1 from dual)+(select 2 from dual) from dual;(SELECT1FROMDUAL)+(SELECT2FROMDUAL)
-----------------------------------
3
如何记录很多的话,这样应该会十分的慢吧?oracle有没有比较方便的函数之类啊
from TSECACCTSUBJ tsec,TSECACCTSUBJ tses,TBASE_CUSTOMERS tc
where tsec.secacctno = tc.cardasn||'0A' and tses.secacctno = tc.uniid
from(
select tsec.acctbalance a
from TBASE_CUSTOMERS tc,TSECACCTSUBJ tsec
where tsec.secacctno = tc.cardasn||'0A'
union
select tses.acctbalance a
from TBASE_CUSTOMERS tc,TSECACCTSUBJ tses
where tses.secacctno = tc.uniid)这样试试
SQL> set autotrace traceonly;
SQL> 执行的SQL
from
(
select tsec.acctbalance cardbalance ,0 as subbalance
from TBASE_CUSTOMERS tc,TSECACCTSUBJ tsec
where tsec.secacctno = tc.cardasn||'0A'
union
select 0 as cardbalance , tses.acctbalance subbalance
from TBASE_CUSTOMERS tc,TSECACCTSUBJ tses
where tses.secacctno = tc.uniid)
)