更新查询中的SQL多部分标识符错误

时间:2019-02-03 19:37:37

标签: sql-server tsql sql-server-2016

有人可以在下面的更新查询中指出我的问题吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

另一列在另一个表中。您必须像这样连接您的表(这是两个表之间的示例,由于我不知道您的架构如何,因此我无法为您提供确切的查询):

UPDATE A SET
  A.COLUMN1 = 1
FROM TABLE1 AS A
JOIN TABLEB AS B ON A.ID = B.ID

答案 1 :(得分:1)

要引用表,您必须在FROMJOIN子句中使用它:

UPDATE dbo.SALES_ORD_HDR
SET X_PickingSlip_Printed = 1
WHERE SEQNO IN (SELECT HEADER_SOURCE_SEQ FROM dbo.SALESORDHIST);
                                         -- here you are refering table

或者使用相关子查询:

UPDATE dbo.SALES_ORD_HDR
SET X_PickingSlip_Printed = 1
WHERE EXISTS (SELECT 1 FROM dbo.SALESORDHIST
              WHERE dbo.SALES_ORD_HDR.SEQNO = dbo.SALESORDHIST.HEADER_SOURCE_SEQ);