以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  sql group by咨询  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178780)

--  作者:guosheng
--  发布时间:2022/7/20 13:02:00
--  sql group by咨询
做两个表left join后填充table控件时,把as b加上 就报错(让检查数据源 或 语法错误)。怎么回事啊?
Tables("测试支付_Table1").Fill("(S  elect [合同编号],s um(本次金额) FROM {合同明细表} GROUP BY 合同编号) as b","cs2",True)



[此贴子已经被作者于2022/7/20 13:08:28编辑过]

--  作者:有点蓝
--  发布时间:2022/7/20 13:38:00
--  
只有一个表没有必要as b
--  作者:guosheng
--  发布时间:2022/7/20 13:42:00
--  
Tables("测试支付_Table1").Fill("S elect a.[合同编号],b.[jel]  F ROM {明细表a} As a left join (S elect [合同编号],[经手人],S UM(金额) as jel from {明细表b} group by 合同编号) As b  on a.[合同编号]=b.[合同编号]","cs2",True)

我是要连接两个表后,填充一个表啊。以上也是报同样的错,语法错或数据源错,怎么回事啊。


--  作者:有点蓝
--  发布时间:2022/7/20 13:52:00
--  
去掉[经手人]列

S
elect a.[合同编号],b.[jel]  FROM {明细表a} As a left join (Select [合同编号],SUM(金额) as jel from {明细表b} group by 合同编号) As b  on a.[合同编号]=b.[合同编号]
--  作者:guosheng
--  发布时间:2022/7/20 14:20:00
--  
连接明细表b中一个字段是运行没问题了。

明细表a和b中 要根据两个字段([合同编号],[序号])进行连接,group by也根据两个字段进行(合同编号 ,序号),明细表b中取两个字段(SUM(金额) 和SUM(数量) ),该怎么改啊?多谢了
Select a.[合同编号],a.[序号],b.[jel],b[sl]  FROM {明细表a} As a left join (Select [合同编号],[序号],SUM(金额) as jel,SUM(数量) as sl from {明细表b} group by 合同编号 ,序号) As b  on (a.[合同编号]=b.[合同编号] and a.[序号]=b.[序号]) 

[此贴子已经被作者于2022/7/20 14:20:59编辑过]

--  作者:有点蓝
--  发布时间:2022/7/20 14:23:00
--  
 on (a.[合同编号]=b.[合同编号] where a.[序号]=b.[序号]) 
--  作者:guosheng
--  发布时间:2022/7/20 14:53:00
--  
若s um的结果为空,如果将它设置为0啊?I SNULL测了没有赋值成功啊

S elect [合同编号],[序号],[经手人], I SNULL(sum(金额),0) as 金额 f rom  ……
--  作者:有点蓝
--  发布时间:2022/7/20 15:17:00
--  
使用iif
--  作者:guosheng
--  发布时间:2022/7/20 15:26:00
--  
IIF(sum(金额) is null,0,sum(金额))   提示语法错误,是用法错了吗
--  作者:有点蓝
--  发布时间:2022/7/20 15:33:00
--  
什么数据库?access?