以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 如何在SQL的命令中增加条件式的表达式  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=136332)

--  作者:2900819580
--  发布时间:2019/6/11 15:04:00
--  [求助] 如何在SQL的命令中增加条件式的表达式

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
--  发布时间:2019/6/11 17:19: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))")
--  作者:2900819580
--  发布时间: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编辑过]

--  作者:有点甜
--  发布时间: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