我已经创建了一个表,需要通过比较我在 SQL Server 中创建的 View 中的数据来更新条目
此操作需要通过在 MS Access 表单中单击按钮来执行
我在 MS Access - Query 中编写了以下查询。从 sql server 导出 View totaltemp1。
update P_Payroll as p
inner join totaltemp1 as tp on p.emp_id = tp.emp_id
inner join P_Student_Supervisor as ss on tp.emp_id = ss.emp_id
set Number_of_Hours = tp.temp_drop_hours,
Total_Payment = tp.temp_drop_hours*ss.emp_hourlywage
where p.emp_id = tp.emp_id and ss.emp_id = p.emp_id;
之前我在 SQL Server 中以独立模式正常工作。代码如下。
update P_Payroll set Number_of_Hours = tp.temp_drop_hours, Total_Payment = tp.temp_drop_hours*ss.emp_hourlywage from totaltemp1 as tp, P_Payroll as p, P_Student_Supervisor as ss where p.emp_id = tp.emp_id and ss.emp_id = p.emp_id;
我也检查了数据结构。我刚刚收到一个错误
“查询表达式 'p.emp_id = tp.emp_id 内部联接 P_Student_Supervisor as ss on tp.emp_id = ss.emp_i”中存在语法错误(缺少运算符)
感谢您的宝贵时间
PK。
最佳答案
您可以检查两件事...首先,删除 WHERE 子句 - 您已经在 JOIN 语句中指定了这些条件。
然后,在连接处加上括号...
UPDATE (P_Payroll AS p
INNER JOIN totaltemp1 AS tp on p.emp_id = tp.emp_id)
INNER JOIN P_Student_Supervisor AS ss on tp.emp_id = ss.emp_id
SET p.Number_of_Hours = tp.temp_drop_hours,
p.Total_Payment = tp.temp_drop_hours * ss.emp_hourlywage
像括号一样访问...
关于mysql - 从 SQL 导出的 View 更新 MS Access 中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23188291/