0
我有一個SQL代碼類似如下如何在執行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」值作爲位如果「@ShowZeroStock」值爲「1」,然後有不應該驗證或(即:應包括零歸還所有從表中的值)
因此,如何基於傳遞位值「@ShowZeroStock」更改查詢
我可以用「如果其他」條件在頂部和刪除其他部分,但對於冗長的查詢我不能這樣做。
謝謝你的回答。事實上,我得到了一個適當的價值觀。讓我給客棧的細節。 1)對於sum(b.CBQty)<0「Im獲得6個結果集」2)對於sum(b.CBQty)= 0「我得到3個結果集」3)對於sum(b.CBQty)> 0:「我得到3個結果集」在結合所有我應該得到12個結果,但我得到56個結果集。這是對的嗎 ? – user3518479
嗨,Gordon Linoff。我是sry我得到我以前的評論,因爲我有空值它返回n resulta,使用isnull(sum(b.CBQty),0)解決我的問題。再次感謝。 – user3518479