SQL SERVER 可以这样
SELECT TB1.*,YSK-(case when YISK is null then 0 else yisk end) AS syysk FROM TB1
left JOIN (SELECT KHMC,SUM(YISK) AS YISK FROM TB2 GROUP BY KHMC)T
ON
TB1.KHMC=T.KHMC
access 可以使用临时表delete * from tmptable
insert into tmptalbe select * from tbA
update tmptable set 应收款=应收款-已收款 from tbB where tmptable.客户名称 =tbB.客户名称select * from tmptalbe
SELECT TB1.*,YSK-(case when YISK is null then 0 else yisk end) AS syysk FROM TB1
left JOIN (SELECT KHMC,SUM(YISK) AS YISK FROM TB2 GROUP BY KHMC)T
ON
TB1.KHMC=T.KHMC
access 可以使用临时表delete * from tmptable
insert into tmptalbe select * from tbA
update tmptable set 应收款=应收款-已收款 from tbB where tmptable.客户名称 =tbB.客户名称select * from tmptalbe
解决方案 »
- 已发布的软件怎么查找错误?
- 关于FarPoint Spread 7单元格内中英文混排时自动换行不均的问题
- 5个简单VB问题求解?, 懂VB的进来帮下忙!
- <开源>--如何共享文件夹(希望大家能举一反三)
- 制作WINXP的资源管理器!高分求助!
- 我想获得注册表里的某一项的值,但是为什么不行啊(我就剩30分了)
- ado可以读xml数据么?如果可以,怎么做?
- 请请问问:vb中如何浏览动态gif图象?
- 关于SSTab控件!!!请帮助!!
- 关于 DBGrid 的问题!!!
- 请帮下解决关于引用Common Controls 5.0下使用listview的一个小"BUG"
- 请问 WebBrowser 如何导入JS脚本函数?
大哥,在语句得该如何改呢? 现在还差个(a.应收款 - sum(b.已收款)) 得放在那里呢?
SQL = "select 客户名称 from (select a.客户名称,(a.应收款 - b.已收款) from a left join b on a.客户名称=b.客户名称 Where (a.应收款 - b.已收款) <> 0 Union select a.客户名称,a.应收款 From a where a.客户名称 not in(select 客户名称 from b))"
delete * from tmptable
insert into tmptalbe select * from tbA
update tmptable set 应收款=应收款-已收款 from tbB where tmptable.客户名称 =tbB.客户名称
select * from tmptalbe where 应收款>0SQL SERVER:
SELECT TB1.*,YSK-(case when YISK is null then 0 else yisk end) AS syysk FROM TB1
left JOIN (SELECT KHMC,SUM(YISK) AS YISK FROM TB2 GROUP BY KHMC)T
ON
TB1.KHMC=T.KHMC
HAVING SYYSK>0
注:
YSK=应收款
YISK=已收款
SYYSK=剩余应收款
select 客户名称,应收款 where 应收款-(select sum 已收款 as mTotal from b where 客户名称=A.客户名称 GROUP BY 客户名称) as 总和 >0 from A roder by 客户名称
在SQL测试的,
select 客户名称,应收款 where 应收款-
(select sum 已收款 as mTotal from b where 客户名称=A.客户名称 GROUP BY 客户名称)>0
from A roder by 客户名称
select 客户名称,应收款 where 应收款-
(case when (select sum 已收款 as mTotal from b where 客户名称=A.客户名称 GROUP BY 客户名称) is null then 0 else (select sum 已收款 as mTotal from b where 客户名称=A.客户名称 GROUP BY 客户名称) end)>0
from A roder by 客户名称
我在access里test了
access和oracle有差别,真麻烦
这里 GROUP BY 客户名称 都可以省略的