sql - 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'
解决方案
唯一不合格的列是:
and Status = 'In Prep'
我想Status
是在多个表中。限定所有列名。较短的表别名将使表更易于编写和阅读。
至于表名tbl_TXEX_IRSS
。这需要在一个FROM
子句中。
推荐阅读
- reactjs - 登录时的每次页面刷新都会让我回到仪表板(使用受保护路由的持久登录)
- reactjs - 反应中循环中的元素的useRef
- scrapy - scrapy-splash 如何过滤重复项?
- ios - 如何在 Flutter 中为 IOS 14 上显示的 Admob 原生广告请求 App Tracking Transparency 授权?
- ios - 将 Picker 的值设置为对象的索引
- angular - 使用 Angular 11 中的 Hammer.JS,应用程序无法识别手势,例如平移
- javascript - 创建多个 DIV 并分配唯一 ID
- tensorflow.js - 有没有办法创建 TensorFlow.js 的本地调试版本?还是公开可用的非缩小版呢?
- r - 我如何将不同的参数归因于函数 strsplit(split = " ")?
- javascript - “无法解码图像:'primary.png'”安装 chrome 扩展程序时