gpt4 book ai didi

mysql - 基于多个表更新单个表 - 似乎适用于 MySql 而不是 ACCESS 2003

转载 作者:行者123 更新时间:2023-11-29 00:56:03 25 4
gpt4 key购买 nike

Mysql 版本工作

UPDATE results SET rCARRIER = (
SELECT cellCarrierName
FROM tblImportedTempTable, user, cellCarrier
WHERE
userEmployeeNumber = tblImportedTempTable.EMPLOYEENUMBER
AND userId = results.rUserId
AND results.rPHONENUMBER = tblImportedTempTable.PHONENUMBER
AND CARRIER = cellCarrierId )

我编写的这个 sql 在 MySql(上)中运行良好,但在 Access 2003(下)中失败,有什么建议吗? 2个非标准sql中的一个还是两个? Access 是否存在管理问题?

抱歉,字段和表名称不同,这是 ACCESS 版本。

Access 版本

UPDATE tblWorkerPhoneNumber SET tblWorkerPhoneNumber.PhoneCarrier = (
SELECT PhoneCarrierType.CarrierName
FROM tblImportedPhoneCarrier, tblWorkerMaster, PhoneCarrierType
WHERE
tblWorkerMaster.EmployeeNumber = tblImportedPhoneCarrier.Emp
AND tblWorkerMaster.WorkerID = tblWorkerPhoneNumber.WorkerID
AND tblWorkerPhoneNumber.PhoneNumber = tblImportedPhoneCarrier.Cell
AND tblImportedPhoneCarrier.CarrierCode = PhoneCarrierType.CarrierID )

错误信息操作必须使用和可更新的查询

谢谢

最佳答案

在 MS Access 中,是这样的:

UPDATE tblWorkerPhoneNumber 
INNER JOIN tblWorkerMaster ON tblWorkerMaster.WorkerID = tblWorkerPhoneNumber.WorkerID
INNER JOIN tblImportedPhoneCarrier ON tblWorkerPhoneNumber.PhoneNumber = tblImportedPhoneCarrier.Cell
INNER JOIN PhoneCarrierType ON tblImportedPhoneCarrier.CarrierCode = PhoneCarrierType.CarrierID
SET tblWorkerPhoneNumber.PhoneCarrier = PhoneCarrierType.CarrierName
WHERE tblWorkerMaster.EmployeeNumber = tblImportedPhoneCarrier.Emp

(可能需要更改连接条件;我不熟悉您的架构)

关于mysql - 基于多个表更新单个表 - 似乎适用于 MySql 而不是 ACCESS 2003,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6066158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com