首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

[再求解]SELECT查询2个表里面的数据,该如何解决

2012-01-26 
[再求解]SELECT查询2个表里面的数据表1:入库资料,字段:入库日期,入库金额,入库单位编号,入库单位名称....

[再求解]SELECT查询2个表里面的数据

表1:入库资料,字段:入库日期,入库金额,入库单位编号,入库单位名称....
表2:入库付款资料,字段:所属入库年份,所属入库月份,入库单位编号,已付款金额....

查询想到2表合在一起的数据:

入库单位名称,所属入库年份,入库金额,已付款金额....

原贴地址:http://topic.csdn.net/u/20111102/14/28c23855-57db-4b6f-a065-8459f74605c4.html?16474

#6楼 得分:0回复于:2011-11-02 15:42:46引用 5 楼 qianjin036a 的回复:
引用 4 楼 jarkar 的回复:
引用 2 楼 qianjin036a 的回复:
SQL code

select a.入库单位名称,b.入库年份,sum(a.入库金额),sum(b.已付款金额)
from 表1 a inner join 表2 b on a.入库单位编号=b.入库单位编号 and year(a.入库日期)=convert(int,left(b.入库年份,4)) group by a.入库单位名称,b.入库……



查询出来了,不过资料只有已付款的,那些没有付款的但有入库金额的都没有列出来,求高手解决 


[解决办法]
select a.入库单位名称,b.入库年份,sum(a.入库金额),sum(b.已付款金额)
from 表1 a left join 表2 b on a.入库单位编号=b.入库单位编号 and year(a.入库日期)=convert(int,left(b.入库年份,4)) group by a.入库单位名称,b.入库……


[解决办法]

SQL code
select a.入库单位名称,b.入库年份,sum(a.入库金额),sum(b.已付款金额)       sum(case when b.已付款金额 is null then a.入库金额 else 0 end)from 表1 a left join 表2 b on a.入库单位编号=b.入库单位编号 and year(a.入库日期)=convert(int,left(b.入库年份,4)) group by a.入库单位名称,b.入库……
[解决办法]
SQL code
select a.入库单位名称,b.入库年份,sum(a.入库金额),sum(b.已付款金额),       sum(case when b.已付款金额 is null then a.入库金额 else 0 end)from 表1 a left join 表2 b on a.入库单位编号=b.入库单位编号   and year(a.入库日期)=convert(int,left(b.入库年份,4)) group by a.入库单位名称,b.入库……
[解决办法]
try:
SQL code
SELECT a.rk_dwid,a.rk_dw as dwmc,year(a.rk_date) as 入库年份,SUM(a.rk_spzj) as fkje,SUM(b.yfl_fkje) as yfje,SUM(a.rk_spzj)-SUM(b.yfl_fkje) as 未付金额FROM rkd a left join ysyfjl b on a.rk_dwid=b.gg_id and YEAR(a.rk_date)=convert(int,LEFT(b.yfl_nf,4)) and b.yfl_type='gys' and b.yfl_mark='付款'where a.rk_style='正常入库' and a.rk_fbbj='000'group by a.rk_dwid,a.rk_dw,year(a.rk_date) 

热点排行
Bad Request.