如何用SQL语句从两个表中提取指定列的差值

如:select sum(inmoneys.money)- sum(outmoneys.money) as total from outmoneys,inmoneys;
但是这句话执行不对,怎么办啊

首先你的语句没有语法错误,你的意思应该是计算出来的结果与实际不符吧?
因为:
你没有定义两表连接的条件,所以两表连接后的结果可能不是你期待的结果
例如两表都是以id作为连接条件:
select sum(inmoneys.money)- sum(outmoneys.money) as total
from outmoneys,inmoneys
where outmoneys.id = inmoneys.id
------
如果两表没有对应关系,换句话说是没有连接条件,那么只能写成:
select(select sum(money) from inmoneys)-(select sum(money) from outmoneys)as total
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-14
首先保证两个字段都是整型的
select tlin-tlout as total
from(
select sum(t1.money) as tlin,sum(t2.money) as tlout
from outmoneys t1,inmoneys t2
)本回答被网友采纳
第2个回答  2010-06-14
肯定不对呀,两条SQL怎么能这样写
(select sum(money) from inmoneys)-(select sum(money) from outmoneys)
再说了,就算你要从两个表中取数据也不是像你写的那样的本回答被提问者采纳
相似回答