mysql - 从 SQL 导出的 View 更新 MS Access 中的表

标签 mysql sql sql-server ms-access-2010 ms-access-2013

我已经创建了一个表,需要通过比较我在 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 子句 - 您已经在 J​​OIN 语句中指定了这些条件。

然后,在连接处加上括号...

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/

相关文章:

java - 连接池泄漏原因

mysql - 无法使用brew install mysql安装MYSQL

OpenShift 上的 MySQL/CodeIgniter 配置

php - php函数也会影响子目录吗?

sql - Symfony/Doctrine : SUM and AVG score of players

sql-server - 对几个字符串的全文搜索结果进行排序

sql - 连接小时和分钟列以十进制格式显示 SQL 查询

PHP foreach 循环返回额外值

sql - 给定 3 个键列,从一个表中选择另一表中不存在的所有数据

sql-server - 在sql server中查找中位数