+ -
当前位置:首页 → 问答吧 → SQL语句如何查询 同一表不同条件的同一列的差值

SQL语句如何查询 同一表不同条件的同一列的差值

时间:2010-08-13

来源:互联网

大概意思就是
sql1 = "select sum(number) from table1 where mode='入库' "
sql2 = "select sum(number) from table1 where mode='出库' "

要得到sql1-sql2的值,能不能用一句SQL语句写?

作者: linji0714   发布时间: 2010-08-13

sql1-sql2这个值的在数据库里存在阿,不存在怎么查询?

作者: lyl198659   发布时间: 2010-08-13

我说的是大概的意思...要得到 入库数量和出库数量的差值

作者: linji0714   发布时间: 2010-08-13

除非你再加个字段..在添加数据的时候,就已经把相差的数值放这个字段里.

不然.你就得把两个字段查出的值再做相减..想不到还有别的..

作者: myctong   发布时间: 2010-08-13

可以把SQL1跟SQL2写为一个SQL语句,然后利用结果进行比较
但是要用一个SQL语句就得到差值,我就不清楚了

作者: LinkTopDesign   发布时间: 2010-08-13

助人为快乐之本,帮一下楼主吧~
sql=" select sql1.sql1-sql1.sql2 as sql from (select sum(number) as sql1 from table1 where mode='入库') as sql1, select sum(number) as sql2 from table1 where mode='出库') as sql2"

作者: jmtgj   发布时间: 2010-08-15

sql1.sql1-sql1.sql2 as sql  

额,没看懂

作者: linji0714   发布时间: 2010-08-16

引用:
原帖由 linji0714 于 2010-8-16 11:13 发表
sql1.sql1-sql1.sql2 as sql  

额,没看懂
扫盲一下吧~
简单的通俗地描述一下吧,其实就是把临时表sql1中的sql1字段值 减去 临时表sql2中的sql2字段值 得到新值 并命名为 sql
您试一下,因为很长时间没写MSSQL了,不是太确的是否可行~

作者: jmtgj   发布时间: 2010-08-16

这样的子查询,效率会有影响吧。
其实可以先把两个值取出,然后在数据库之外来处理。
不是非得所有的数据都要通过SQL一次处理完。

作者: irlvirus   发布时间: 2010-08-19

热门下载

更多