首页 > 解决方案 > UPDATE 与两个 INNER JOINS 给出错误“无法绑定多部分标识符”

问题描述

我正在尝试编写一个在两个表连接后执行更新的 SQL 语句。SET 语句给我一个错误,即无法绑定多部分标识符。我想这是因为我没有在其他任何地方引用该表,但我不知道该放在哪里。我不能加入它,因为我只是使用 tbl_TXEX_IRSS 作为查找表来更改代码。这是我所拥有的:

UPDATE [PAYROLL].[dbo].[TEMPBILLING]
SET [TEMPBILLING].Pay_Code = [tbl_TXEX_IRSS].tax_irss_code
FROM [PAYROLL].[dbo].[TEMPBILLING] 
INNER JOIN [PAYROLL].[dbo].[ISP-BASIC]
ON [ISP-BASIC].Form_ID = [TEMPBILLING].ISP_Data_ID
INNER JOIN [PAYROLL].[dbo].[TAX-EXEMPT]
ON SUBSTRING([ISP-BASIC].Employee_ID,4,10) = [TAX-EXEMPT].Sage_ID
WHERE
 [ISP-BASIC].ISP_Program like '%IRSS%'
and [ISP-BASIC].Billable='Yes'
and Status='In Prep'

标签: sqlsql-server

解决方案


唯一不合格的列是:

and Status = 'In Prep'

我想Status是在多个表中。限定所有列名。较短的表别名将使表更易于编写和阅读。

至于表名tbl_TXEX_IRSS。这需要在一个FROM子句中。


推荐阅读