Foxtable(狐表)用户栏目专家坐堂 → sql Sever 语句与 Access的差别


  共有4128人关注过本帖树形打印复制链接

主题:sql Sever 语句与 Access的差别

帅哥哟,离线,有人找我吗?
nxhylczh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:338 积分:2700 威望:0 精华:0 注册:2018/11/22 9:19:00
sql Sever 语句与 Access的差别  发帖心情 Post By:2019/12/19 18:10:00 [只看该作者]

S e l e c t left(P01.科目编码,4) As 科目编码,
Sum(P01.借方本币金额) As 借方金额, 
Sum(P01.贷方本币金额) As 贷方金额,
sum(iif(借方本币金额<>0,数量,0)) As 借方数量,
sum(iif(贷方本币金额<>0,数量,0)) As 贷方数量,
sum(iif(借方本币金额<>0,原币金额,0)) As 借方原币金额,
sum(iif(贷方本币金额<>0,原币金额,0)) As 贷方原币金额 
FROM P01 WHERE P01.账套ID='NXHY-191205-0005' And P01.年=2019 And P01.月=1 AND P01.凭证编号 Between 11 And 11  GROUP BY left(P01.科目编码,4)
以上代码  在Access上执行没有问题

在Sqlsever上执行报   '<' 附近有语法错误
不知道是什么原因

 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4773 积分:34673 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2019/12/19 19:14:00 [只看该作者]

SQL中的iif用Case When替代

 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:338 积分:2700 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/12/19 19:21:00 [只看该作者]

这个真不会写

 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:338 积分:2700 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/12/19 19:34:00 [只看该作者]

百度搜索SQlsever 是支持IIF函数的
我估计又是一个Bug


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/20 8:33:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:338 积分:2700 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/12/20 9:07:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/20 9:42:00 [只看该作者]

随便说的吧。百度知道的回答您也信!?我还以为是官方文档的链接呢!

 回到顶部
帅哥哟,离线,有人找我吗?
nxhylczh
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:338 积分:2700 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/12/20 10:09:00 [只看该作者]

S ELECT LEFT
( P01.科目编码, 4 ) AS 科目编码,
SUM ( P01.借方本币金额 ) AS 借方金额,
SUM ( P01.贷方本币金额 ) AS 贷方金额,
SUM ( CASE WHEN 借方本币金额<> 0 THEN 数量 ELSE 0 END ) AS 借方数量,
SUM ( CASE WHEN 贷方本币金额<> 0 THEN 数量 ELSE 0 END ) AS 贷方数量,
SUM ( CASE WHEN 借方本币金额<> 0 THEN 原币金额 ELSE 0 END ) AS 借方原币金额,
SUM ( CASE WHEN 贷方本币金额<> 0 THEN 原币金额 ELSE 0 END ) AS 贷方原币金额 
FROM P01 
WHERE
P01.账套编码 = 'NXHY-191205-0005' 
AND P01.年 = 2019 
AND P01.月 = 1 
AND P01.凭证编号 BETWEEN 16  AND 16 
GROUP BY LEFT (P01.科目编码, 4 )
[此贴子已经被作者于2019/12/20 10:09:50编辑过]

 回到顶部