Foxtable(狐表)用户栏目专家坐堂 → [求助]查询语句代码有点复杂,请老师帮我看看-9楼更新问题


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

主题:[求助]查询语句代码有点复杂,请老师帮我看看-9楼更新问题

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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]查询语句代码有点复杂,请老师帮我看看-9楼更新问题  发帖心情 Post By:2020/3/19 22:37:00 [只看该作者]

'提取此页数据
Dim cmd As New SQLCommand
cmd.C onnection Name = "SqlQqServer" '记得设置数据源名称
cmd.C ommandText = "S elect Count(*) From {生产计划排单}"
If flt > "" Then
    cmd.C ommandText = cmd.C ommandText & " where " & flt
End If
Dim Count As Integer = cmd.ExecuteScalar() '获取总的行数
Dim ppyf As String '匹配已发量
ppyf = "(s elect Sum(发货量) f rom {销售出库} b where c.通知单号 = b.通知单号 And b.状态 = '有效' And b.审核 = 1) As 已发量,"
cmd.C ommandText = "S elect * From (S elect Row_Number() Over(Order by 通知单号) As 序号, c.[_Identify],c.通知单号,c.工程名称,c.业务员,c.开盘时间 As 开盘日期,c.计划方量," & ppyf & (计划方量 - 已发量) As 待发量 & " F rom {生产计划排单} As c "
If flt > "" Then
    cmd.C ommandText = cmd.C ommandText & " where " & flt 
End If
cmd.C ommandText = cmd.C ommandText & ") As a "
cmd.C ommandText = cmd.C ommandText & "  Where 序号>= " & StartRow & " And 序号 <= " & EndRow

这个红字部分应该如何写,晕了,请蓝老师帮我写下算出待发量
[此贴子已经被作者于2020/3/22 13:03:42编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2193 积分:13908 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2020/3/20 1:52:00 [只看该作者]

& ", (C.计划方量 - C.已发量)  As 待发量   F rom {生产计划排单}  As c"

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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2020/3/20 11:48:00 [只看该作者]

请问,当结果算下来待发量为负数时,即已发量大于计划方量时,待发量的值显示0,应该如何写代码,谢谢

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

& ", (case when C.计划方量 > C.已发量  then C.计划方量 - C.已发量 else 0 end ) As 待发量   F rom {生产计划排单}  As c"

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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2020/3/20 21:48:00 [只看该作者]

请老师看下代码,刚才试了下,不行啊

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.3.11.8
错误所在事件:
详细错误信息:
列名 '已发量' 无效。


Dim ppyf As String '匹配已发量
ppyf = "(s elect Sum(发货量) f rom {销售出库} b where c.通知单号 = b.通知单号 And b.状态 = '有效' And b.审核 = 1) As 已发量,"
cmd.C ommandText = "S elect * From (S elect Row_Number() Over(Order by 通知单号) As 序号, c.[_Identify],c.通知单号,c.工程名称,c.业务员,c.开盘时间 As 开盘日期,c.计划方量," & ppyf & " (c.计划方量 - c.已发量) As 待发量 F rom {生产计划排单} As c "

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110788 积分:563872 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/20 22:03:00 [只看该作者]

Dim ppyf As String '匹配已发量
ppyf = "(s elect Sum(发货量) f rom {销售出库} b where c.通知单号 = b.通知单号 And b.状态 = '有效' And b.审核 = 1) As 已发量"
cmd.C ommandText = "S elect *,(计划方量 - 已发量) As 待发量 From (S elect Row_Number() Over(Order by 通知单号) As 序号, c.[_Identify],c.通知单号,c.工程名称,c.业务员,c.开盘时间 As 开盘日期,c.计划方量," & ppyf & "  F rom {生产计划排单} As c "

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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2020/3/20 22:17:00 [只看该作者]

蓝老师,代码调试成功了,但有个问题,如何计划方量为60,当已发量空时,也就是没发过货,待发量应该是60,可实际显示也是空

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


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110788 积分:563872 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/20 22:54:00 [只看该作者]

(isnull(计划方量,0) - isnull(已发量,0)) As 待发量

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


加好友 发短信
等级:五尾狐 帖子:1105 积分:8967 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2020/3/22 8:36:00 [只看该作者]

蓝老师,请再帮我写下代码,把已发量查不到时也显示0而不是空,谢谢
Dim ppyf As String '匹配已发量
ppyf = "(s elect Sum(发货量) f rom {销售出库} b where c.通知单号 = b.通知单号 And b.状态 = '有效' And b.审核 = 1) As 已发量"
cmd.C ommandText = "S elect *,(isnull(计划方量,0) - isnull(已发量,0)) As 待发量 From (Select Row_Number() Over(Order by 通知单号) As 序号, c.[_Identify],c.通知单号,c.工程名称,c.业务员,c.开盘时间 As 开盘日期,c.计划方量," & ppyf & "  F rom {生产计划排单} As c "

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110788 积分:563872 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/22 20:59:00 [只看该作者]

(s elect Sum(isnull(发货量,0)) f rom {销售出库}

 回到顶部