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

两表对账,求思路,求sql!

2012-05-02 
两表对账,求思路,求sql!!在线等。。。公司半路出家,写了个销售管理程序,按理说每一笔发货、每一笔开票、每一笔

两表对账,求思路,求sql!!在线等。。。
公司半路出家,写了个销售管理程序,按理说每一笔发货、每一笔开票、每一笔回款都要对应起来才对,因为是半路出家,以前公司没用过这种系统,系统在编写的时候无法进行这种对应,因为以前的老账,他们自己都搞不明白谁对应谁,所以现在要出报表,特别费劲,有这么两张表 
第一张,开票表
invoice_date 开票日期
moneya 开票金额
branchclient_id 客户id

第二张,回款表
payment_date 回款日期
payment_money 回款金额
branchclient_id 客户id


这两张表都已经 按照order by 客户id,开票日期(回款日期) asc 排序好了。
要求每一笔回款,去找对应单位的开票,然后按这个回款日期往前减开票金额,
比如第一比回款,金额266716.56 客户id是3,然后从开票表里面找客户id是3,开票日期在回款日期2010-11-26之前的开票,
然后回款金额266716.56 去减这些开票,最后如果货款结余,新其一列标注结余多少,等第二次割的时候用,如果货款不够割最后一笔开票的,则最后一笔开票一分钱也不割,把这个结余也写到结余那一列,等第二次割的时候使用,不知道你们听明白了没有,我在线,自己sql比较弱,不会这种递归割帐。

[解决办法]
"金额266716.56 客户id是3,
然后从开票表里面找客户id是3,开票日期在回款日期2010-11-26之前的开票"

你看记录中
"金额108000 客户id是10,
然后从开票表里面找客户id是10,开票日期在回款日期2012-1-3之前的开票"
数据中
客户id是10开票日期全在2012-1-3之前

你的开票和汇款很难对一起

[解决办法]
建议你把测试数据贴出来,不要用图片
[解决办法]

探讨
如果该单位只有开票 没有汇款,则不用割,如果割到最后,有开票没有被割到,不用显示这些开票,只显示被割的开票

[解决办法]
你的意思是用第二张表的每个id下的那个钱去减掉对应的第一张表的日期在第二张表之前的总钱数??是这个意思吗?
[解决办法]
探讨
引用:
"金额266716.56 客户id是3,
然后从开票表里面找客户id是3,开票日期在回款日期2010-11-26之前的开票"

你看记录中
"金额108000 客户id是10,
然后从开票表里面找客户id是10,开票日期在回款日期2012-1-3之前的开票"
数据中
客户id是10开票日期全在2012-1-3之前

你的开票和汇款很难对一起

客户i……

热点排行