我试图在类似的sql语句中分配默认值。
SELECT (CASE WHEN sd.IID IS NULL THEN 0 ELSE sd.IID END) AS IID,
pd.IID AS PurchaseOrerDetailsId,
i.[Description] AS Item,
sd.BatchNo, s.[Description] AS Unit,
CONVERT(varchar, sd.MfgDt, 103) AS MfgDt,
sd.Qty = 0,
CONVERT(varchar, sd.ExpiryDate, 103) AS ExpiryDate,
sd.PackSize ='',
pd.Qty = 0 AS QtyOrdered,
sd.MRP, sd.PTR,
sd.PurchaseRate,
sd.PTS,
sd.CGST,
sd.SGST,
sd.IGST,
DiscPer,
DiscVal,
sd.Qty * sd.PurchaseRate AS PurchaseValue,
(sd.Qty * sd.PurchaseRate * sd.CGST)/100 AS CGSTAmt,
(sd.Qty * sd.PurchaseRate * sd.SGST)/100 AS SGSTAmt,
(sd.Qty * sd.PurchaseRate * sd.IGST)/100 AS IGSTAmt,
i.IID AS ItemId
FROM PurchaseOrderDetails pd
但是您可以看到"Qty = 0“或PackSize =‘can SELECT语句不起作用。如何在SELECT语句中为多个字段赋值。
谢谢帕莎
发布于 2018-03-15 16:32:46
你是在找这样的东西吗?
SELECT
(CASE WHEN sd.IID IS NULL THEN 0 ELSE sd.IID END) AS IID,
pd.IID AS PurchaseOrerDetailsId,
i.[Description] AS Item,
sd.BatchNo,
s.[Description] AS Unit,
CONVERT(varchar, sd.MfgDt, 103) AS MfgDt,
'0' AS sd.Qty,
CONVERT(varchar, sd.ExpiryDate, 103) AS ExpiryDate,
'' AS sd.PackSize,
pd.Qty = 0 AS QtyOrdered,
sd.MRP,
sd.PTR,
sd.PurchaseRate, sd.PTS, sd.CGST, sd.SGST, sd.IGST, DiscPer, DiscVal, sd.Qty * sd.PurchaseRate AS PurchaseValue, (sd.Qty * sd.PurchaseRate * sd.CGST)/100 AS CGSTAmt,
(sd.Qty * sd.PurchaseRate * sd.SGST)/100 AS SGSTAmt, (sd.Qty * sd.PurchaseRate * sd.IGST)/100 AS IGSTAmt, i.IID AS ItemId
FROM PurchaseOrderDetails pd
不过,不确定QtyOrdered列
发布于 2018-03-15 16:35:10
引用我之前的评论..。为什么不只是用这个?
ISNULL(Qty,0)
发布于 2018-03-15 16:41:07
试试这个:
SELECT COALESCE(sd.IID,0) AS IID,
pd.IID AS PurchaseOrerDetailsId, i.[Description] AS Item,
sd.BatchNo, s.[Description] AS Unit,
CONVERT(varchar, sd.MfgDt, 103) AS MfgDt,
COALESCE(sd.Qty,0) As Qty,
CONVERT(varchar, sd.ExpiryDate, 103) AS ExpiryDate,
COALESCE(sd.PackSize,'') As PackSize,
COALESCE(pd.Qty,0) AS QtyOrdered,
sd.MRP, sd.PTR, sd.PurchaseRate,
sd.PTS, sd.CGST, sd.SGST, sd.IGST,
DiscPer, DiscVal,
COALESCE(sd.Qty,0) * sd.PurchaseRate AS PurchaseValue,
(COALESCE(sd.Qty,0) * sd.PurchaseRate * sd.CGST)/100 AS CGSTAmt,
(COALESCE(sd.Qty,0) * sd.PurchaseRate * sd.SGST)/100 AS SGSTAmt,
(COALESCE(sd.Qty,0) * sd.PurchaseRate * sd.IGST)/100 AS IGSTAmt,
i.IID AS ItemId
FROM PurchaseOrderDetails pd
https://stackoverflow.com/questions/49304537
复制相似问题