以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  access语句通过,sql语句不通过,请老师帮助看一下  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=130140)

--  作者:xxfoxtable
--  发布时间:2019/1/14 14:16:00
--  access语句通过,sql语句不通过,请老师帮助看一下

SQL语句

cmd.CommandText="se lect 编号,身份证号码, 姓名,性别, 年龄,所在区域,就业创业证号,人员类别,出生年月,退休时间,联系电话,账户开户行,银行账户号码,开户行地址, "   & _
" \'36\' as 可领月数,(Se lect  sum(申请补贴月数)  f rom {申领记录} As bb where bb.身份证号码=a.身份证号码 And 申请补贴时间<=\'" & d1 &"\') As 已领月数, (36-(Case when sum(已领月数) Is null Then 0 Else sum(已领月数) End)) As 剩余月数, " &  _
" 年, 季,申请补贴时间,申请补贴月数 As 本季申请月数,申请补贴金额,(Sel ect sum(申请补贴金额) f rom {申领记录} As bb where bb.身份证号码=a.身份证号码 And 申请补贴时间<=\'" & d1 &"\') As 累计补贴金额 "   & _
" from (Select {人员信息}.编号,{人员信息}.身份证号码, {人员信息}.姓名,{人员信息}.性别, {人员信息}.年龄,{人员信息}.所在区域,{人员信息}.就业创业证号,{人员信息}.人员类别,{人员信息}.出生年月,{人员信息}.退休时间,{人员信息}.联系电话,{人员信息}.账户开户行,{人员信息}.银行账户号码,{人员信息}.开户行地址,{申领记录}.年, {申领记录}.季, {申领记录}.申请补贴时间,{申领记录}.申请补贴月数, {申领记录}.申请补贴金额"  & _
" f rom {人员信息} left join {申领记录} on {人员信息}.身份证号码={申领记录}.身份证号码) As a where 年=\'" & txt1.text &"\' And 季=\'" & txt2.text & "\' group by 编号,身份证号码, 姓名,性别, 年龄,所在区域,就业创业证号,人员类别,出生年月,退休时间,联系电话,账户开户行,银行账户号码,开户行地址,年,季,申请补贴时间,申请补贴月数,申请补贴金额"

access语句
cmd.CommandText="se lect 编号,身份证号码, 姓名,性别, 年龄,所在区域,就业创业证号,人员类别,出生年月,退休时间,联系电话,账户开户行,银行账户号码,开户行地址, "   & _
" \'36\' as 可领月数,(Sel ect sum(申请补贴月数) f rom {申领记录} As bb where bb.身份证号码=a.身份证号码 And 申请补贴时间<=#" & d1 &"#) As 已领月数,36-iif(isnull(sum(已领月数)),0,sum(已领月数)) As 剩余月数,"  & _
" 年, 季,申请补贴时间,申请补贴月数 As 本季申请月数,申请补贴金额,(Sele ct sum(申请补贴金额) f rom {申领记录} As bb where bb.身份证号码=a.身份证号码 And 申请补贴时间<=#" & d1 &"#) As 累计补贴金额 "   & _
" f rom (Se lect {人员信息}.编号,{人员信息}.身份证号码, {人员信息}.姓名,{人员信息}.性别, {人员信息}.年龄,{人员信息}.所在区域,{人员信息}.就业创业证号,{人员信息}.人员类别,{人员信息}.出生年月,{人员信息}.退休时间,{人员信息}.联系电话,{人员信息}.账户开户行,{人员信息}.银行账户号码,{人员信息}.开户行地址,{申领记录}.年, {申领记录}.季, {申领记录}.申请补贴时间,{申领记录}.申请补贴月数, {申领记录}.申请补贴金额"  & _
" f rom {人员信息} left join {申领记录} on {人员信息}.身份证号码={申领记录}.身份证号码) As a where 年=\'" & txt1.text &"\' And 季=\'" & txt2.text & "\' group by 编号,身份证号码, 姓名,性别, 年龄,所在区域,就业创业证号,人员类别,出生年月,退休时间,联系电话,账户开户行,银行账户号码,开户行地址,年,季,申请补贴时间,申请补贴月数,申请补贴金额"


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190114140841.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2019/1/14 14:31:00
--  

1、改成

 

(36-isnull(sum(已领月数),0)) As 剩余月数

 

2、如果还有问题,sqlserver数据库发上来测试


--  作者:xxfoxtable
--  发布时间:2019/1/14 14:41:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:data.rar

还是不行,我发数据库上来了
--  作者:有点甜
--  发布时间:2019/1/14 16:00:00
--  

 (36-(Case when sum(已领月数) Is null Then 0 Else sum(已领月数) End)) As 剩余月数,

 

改成

 

(36-(Select  sum(申请补贴月数)  from 申领记录 As bb where bb.身份证号码=a.身份证号码)) As 剩余月数,