Как использовать if else в инструкции select в sql server 2008
Мне нужно использовать оператор if else в операторе select ..Я создала СП, а после попытался
ALTER PROCEDURE [PR].[SPJ_PurchaseOrderDShipmentD] --[PR].[SPJ_PurchaseOrderDShipmentD] 'FY12/PO/172' -- Add the parameters for the stored procedure here @ParentDocCode varchar(50) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SELECT distinct D.DocCode, D.FKFYCode, D.DocPrefix, D.DocNo, D.DocDate, D.FkItemCode, D.FkItemName,D.FkItemName, ISNULL((select InventoryUOMCode from MM.ITMIV where FkItemCode=D.FkItemCode),'0') as UOMCode, ISNULL((select InventoryUOM from MM.ITMIV where FkItemCode=D.FkItemCode),'NA') as UOMName, CAST(D.qty + (ISNULL((sELECT sUM(qty) FROM PR.PMDTL WHERE FkItemCode=D.FkItemCode AND ParentDocCode=D.DOCCODE),0)) AS Decimal(18,2)) as TotalPOQty, CAST(ISNULL((sELECT sUM(QTY) FROM PR.PSDTL WHERE FkItemCode=D.FkItemCode AND ParentDocCode=D.DocCode ),0) AS Decimal(18,2)) PreviousIssuedQty, CAST( Qty + (ISNULL((sELECT sUM(qty) FROM PR.PMDTL WHERE FkItemCode=D.FkItemCode AND ParentDocCode=D.DocCode),0)) - ( ISNULL((sELECT sUM(QTY) FROM PR.PSDTL WHERE FkItemCode=D.FkItemCode AND ParentDocCode=D.DocCode ) ,0)) AS Decimal(18,2)) as Qty,0 as NextBalanceQty , case when P.Factor1=' ' then 0 else P.Factor1 as BrookerageAmt from pr.PODTL P where FkItemCode=D.FkItemCode and DocCode=@ParentDocCode) --ISNULL((select Factor1 from PR.PODTL where FkItemCode=D.FkItemCode and DocCode=@ParentDocCode),0.00 ) as BrokerageAmt FROM PR.POHDR H,PR.PODAC D where D.DocCode=@ParentDocCode and d.DocCode = h.DocCode AND Qty >0 --(ISNULL((sELECT sUM(qty) FROM PR.PMDTL WHERE FkItemCode=D.FkItemCode AND ParentDocCode=D.DocCode),0)) - --(ISNULL((SELECT sUM(QTY) FROM PR.PSDTL WHERE FkItemCode=D.FkItemCode AND ParentDocCode=D.DocCode ),0) ) )> 0 and H.Status='Y' and D.Status='Y' END
но получаю сообщение об ошибке, пожалуйста, помогите мне
любая помощь заметна
с уважением,
Шивани
Adarsh chauhan
можете ли вы предоставить свою структуру таблицы, а также объяснить, чего вы хотите достичь?
не могу сказать о других, но у меня мало сомнений в используемой вами логике.
ну, в вашем случае вы пропустили ключевое слово "end"..
случай, когда П. Factor1=' ', то 0, иначе П. Factor1 конец как BrookerageAmt
из pr.PODTL P, где FkItemCode=D.FkItemCode и DocCode=@ParentDocCode