sql - 无法在派生表中绑定多个部件标识符
问题描述
我正在尝试运行 MAX 值的总和,然后将它们更新为一列。我认为派生表是正确的方法,但现在我不断收到一个我不知道如何解决的多部分 id 无法绑定错误。
我在 SSMS 上运行它,它将成为我的 PowerApp 数据库。我实际上是在尝试从多个单元中获取不同的或最大的评估时间值,然后将它们加在一起,按员工 ID 号分组。我正在使用派生表来尝试混合这两个聚合函数。
WITH pretotalAssessment as
(
SELECT dbo.StaffTotals.Entry_ID, ISNULL(SUM(maxAssess),0) AS maxAssessHours
FROM
(
SELECT dbo.StaffTotals.Entry_ID, dbo.Units.[Unit Name],
ISNULL(MAX(dbo.Units.[Assessment Hours]),0) AS maxAssess
FROM dbo.Units
INNER JOIN dbo.StaffTotals ON dbo.StaffTotals.Entry_ID = dbo.Units.Entry_ID
GROUP BY dbo.StaffTotals.Entry_ID,dbo.Units.[Unit Name]
)Units
)
UPDATE preStaffTotals
SET preStaffTotals.Assessment = pretotalAssessment.maxAssessHours
FROM dbo.StaffTotals AS preStaffTotals
INNER JOIN pretotalAssessment ON preStaffTotals.Entry_ID = pretotalAssessment.Entry_ID;
我的错误是:
“无法绑定多部分标识符“dbo.StaffTotals.Entry_ID”。”
我对 SQL 还是很陌生,所以这对我来说都是一个学习曲线!
解决方案
CTE 中的第一个 SELECT 来自派生表。这意味着dbo.StaffTotals
在 SELECT 列表中无法访问。
您需要更换:
SELECT dbo.StaffTotals.Entry_ID
和:
SELECT Units.Entry_ID
推荐阅读
- flutter-layout - Flutter MissingPluginException(在通道flutter.baseflow.com/permissions/methods上找不到方法checkPermissionStatus的实现)
- c# - 如何为用户提供一些声明?
- node.js - 无法在 NGINX 的 5050 端口上监听 https
- vim - 为什么以下键映射在哪个键中不起作用?(维姆)
- linux - 具有依赖加密的错误 selenium 线 linux
- azure-web-app-service - 即使在 azure 上为应用服务启用了 Http2.0,部署在 azure 上的 React 应用程序也没有使用 Http2
- flutter - 在 just_audio 插件中暂停后继续我的音乐
- web-scraping - 如何保存飞溅饼干
- python - 在 for 循环的每次迭代中更改线图的颜色
- javascript - TypeError:无法在“HTMLSelectElement”上执行“添加”:提供的值不是“(HTMLOptionElement 或 HTMLOptGroupElement)”类型