我有两个表,大致相同的列。为什么这个SQL无法识别IF语句中的TargetPosition
我想更新取决于ExecSignedAmount从表FilledOrders总和是否等于Orders.TargetPosition
台订单的状态列,但这个UPDATE语句似乎并没有认识到TargetPosition:
UPDATE [FX_PROD].[dbo].[tblOrders]
SET [Status] = (IF ((SELECT SUM([ExecSignedAmount])
FROM [FX_PROD].[dbo].[tblFilledOrders]
WHERE [OrderID] = 2) = [FX_PROD].[dbo].[tblOrders].[TargetPosition]) 'YES' ELSE 'NO')
WHERE [OrderID] = 2;
我究竟做错了什么?
_“似乎不能识别”_是什么意思?您是否尝试查找“IF ... ELSE”的语法? – CodeCaster
它SQL说无效的列名称:TargetPosition和是的,我查了语法,但我显然不正确地写它。 – ManInMoon