【发布时间】:2015-08-03 11:12:56
【问题描述】:
我的 Sql 代码如下
Select a.ItemCode, a.ItemDesc
From fn_BOM_Material_Master('A', @AsOnDate, @RptDate, @BranchID, @CompID)a
Left Outer Join fn_INV_AsOnDate_Stock(@StockDate, @AsOnDate, @RptDate, @BranchID, @CompID, @Finyear)b
On a.ItemCode=b.ItemCode and b.WarehouseCode<>'WAP'
and a.BranchID=b.BranchID and a.CompID=b.COmpID
Where a.ItemNatureCode = 'F' and a.BranchID = @BranchID and a.CompID = @CompID
Group by a.ItemCode, a.ItemDesc
Having sum(b.CBQty)<=0
这里的问题是,如果“@ShowZeroStock”值为“1”,则我将“@ShowZeroStock”值作为位传递,那么不应验证或(即:应返回表中的所有值,包括零)
那么如何根据传递的位值“@ShowZeroStock”更改查询
我可以在顶部使用“If else”条件并删除 else 部分,但对于冗长的查询我不能这样做。
【问题讨论】:
标签: sql sql-server-2005 sql-server-2012