Foxtable(狐表)用户栏目专家坐堂 → [求助] 如何在SQL的命令中增加条件式的表达式


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

主题:[求助] 如何在SQL的命令中增加条件式的表达式

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


加好友 发短信
等级:六尾狐 帖子:1348 积分:9827 威望:0 精华:0 注册:2015/6/30 8:46:00
[求助] 如何在SQL的命令中增加条件式的表达式  发帖心情 Post By:2019/6/11 15:04:00 [只看该作者]

SE LECT     a.子阶ID, a.任务单号, SUM(a.需求数量) AS 需求数量, b.采购负责人 AS 采购, a.物料代码, a.物料名称, a.规格型号, a.单位, a.库存数量, a.仓库名称,
                          (SEL ECT     SUM(在途库存) AS Expr1
                            FROM          dbo.MRP_在途库存
                            WHERE      (物料ID = a.子阶ID)) AS 在途库存,
                          (SEL ECT     SUM(待领数量) AS Expr1
                            FROM          dbo.MPR_待领数量
                            WHERE      (物料ID = a.子阶ID)) AS 待领数量
FROM         dbo.任务单视图 AS a INNER JOIN
                      dbo.物料表 AS b ON a.子阶ID = b.ID
GROUP BY a.任务单号, a.子阶ID, b.采购负责人, a.物料代码, a.物料名称, a.规格型号, a.单位, a.库存数量, a.仓库名称

 

生成表后,再增加表达式列,如何将表以下的表达式直接增加在SQL的命令当中

dt.DataCols.Add("需采购数",Gettype(Single),"iif(isnull([待领数量],0) + isnull([需求数量],0) - isnull([在途库存],0) - isnull([库存数量],0) < 0,0,isnull([待领数量],0) + isnull([需求数量],0) - isnull([在途库存],0)


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


加好友 发短信
等级:六尾狐 帖子:1348 积分:9827 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2019/6/11 17:19:00 [只看该作者]

顶一下


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


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

dt.DataCols.Add("需采购数",Gettype(Single),"iif(isnull([待领数量],0) + isnull([需求数量],0) - isnull([在途库存],0) - isnull([库存数量],0) < 0,0,isnull([待领数量],0) + isnull([需求数量],0) - isnull([在途库存],0))")

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


加好友 发短信
等级:六尾狐 帖子:1348 积分:9827 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By:2019/6/13 10:12:00 [只看该作者]

以下是引用有点蓝在2019/6/11 21:34:00的发言:
dt.DataCols.Add("需采购数",Gettype(Single),"iif(isnull([待领数量],0) + isnull([需求数量],0) - isnull([在途库存],0) - isnull([库存数量],0) < 0,0,isnull([待领数量],0) + isnull([需求数量],0) - isnull([在途库存],0))")

 

老师,我是想将这个增加表达式列,直接在SQL语句中增加上去。

 

而不用在后面生成表之后再增加一次。

[此贴子已经被作者于2019/6/13 10:12:26编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/13 12:53:00 [只看该作者]

以下是引用2900819580在2019/6/13 10:12:00的发言:

 

老师,我是想将这个增加表达式列,直接在SQL语句中增加上去。

 

而不用在后面生成表之后再增加一次。

[此贴子已经被作者于2019/6/13 10:12:26编辑过]

 

再加一层select才行

 

select *, iif(isnull([待领数量],0) + isnull([需求数量],0) - isnull([在途库存],0) - isnull([库存数量],0) < 0,0,isnull([待领数量],0) + isnull([需求数量],0) - isnull([在途库存],0)) as 测试 from (你本来的sql语句) as a


 回到顶部