我想根据其他列的值得到列fpo
的值。结果与查询中的CASE
语句不符。有人能指出我的方向吗?SQL选择一个在其中的语句
SELECT SL.[Document No_], SL.[Sell-to Customer No_], SL.Type, SL.[Line No_], ISNULL(PO.No_, 'BUY') AS RPO,
CASE
WHEN PO.[Replan Ref_ No_] is null AND PO.[No_] IS NOT NULL THEN 'Neplanificata'
WHEN PO.[Replan Ref_ No_] IS NULL AND PO.[No_] = 'Buy' THEN 'Buy'
ELSE PO.[Replan Ref_ No_]
END AS fpo
FROM [SC Vermorel SRL$Sales Line] AS SL
INNER JOIN [SC Vermorel SRL$Sales Header] AS SH ON SL.[Document No_] = SH.No_
INNER JOIN [SC Vermorel SRL$Customer] AS Cust ON SL.[Sell-to Customer No_] = Cust.No_
LEFT OUTER JOIN [SC Vermorel SRL$Production Order] AS PO
ON (SH.[External Document No_] = PO.[Old Prod_ Order No_]) AND (PO.[Source No_] = SL.No_) AND (SL.Quantity = PO.Quantity)
结果:
你在哪里定义变量?据我所知,你不能在SELECT语句中进行更新。 –
您是否试图持续更新表,或者您是否需要'NULL'的默认值? 'SELECT'读取那个,'SET'想**改变一个值。为此,你需要一个'UPDATE'。请描述你的需求。 – Shnugo
仅在某些标准的情况下需要默认值。对不起,我没有正确指定。我更新了主要问题。 –