gpt4 book ai didi

sql - 使用 MS Access 如何使用多个连接和 where 子句执行更新?

转载 作者:行者123 更新时间:2023-12-01 12:41:31 25 4
gpt4 key购买 nike

我在让一些 MS Access SQL 工作时遇到了一些麻烦。这是高级别的:

我在一张表中有值,by15official我需要用来更新另一个表中的相关记录,investmentInfo .非常简单,除了我需要执行很多连接以确保在 investmentTable 中更新正确的记录。我想我可以用普通的 sql 来解决这个问题,但是 Access 玩得不好。以下是我尝试使用的 sql(导致此错误:“查询表达式中的语法错误(缺少运算符)......”

update ii
set ii.investmentType = by15.InvestmentType
from investmentInfo as ii
inner join
(select by15Official.InvestmentType, by15Official.InvestmentNumber
from (((by15official left join investmentinfo on by15official.InvestmentNumber = investmentInfo.investID)
left join fundingSources on fundingSources.investId = investmentInfo.id)
left join budgetInfo on budgetInfo.fundingID = fundingSources.id)
where investmentinfo.submissionType = 2
and budgetInfo.byYear = 2015
and budgetInfo.type = 'X') as by15
on by15.InvestmentNumber = ii.investID

这似乎应该有效,我正在尝试加入这组提供 investmentType 的表。这是我想在主表中更新的内容 investmentInfo .想法?这可以在 Access 中完成吗?我在谷歌上搜索并找到了我根据自己的需要进行调整的上述内容(实际上我很确定我在 SO 上找到了上述内容)。

想法?

非常感谢!

最佳答案

我确实从 MS 论坛上的某个人那里得到了一些帮助。解决方案是稍微不同地格式化我的 SQL。这是最终有效的代码。

UPDATE 
(
(
by15official LEFT JOIN investmentinfo
ON by15official.InvestmentNumber = investmentInfo.investID
)
LEFT JOIN
fundingSources
ON investmentInfo.id = fundingSources.investId
)
LEFT JOIN budgetInfo
ON fundingSources.id = budgetInfo.fundingID

SET investmentInfo.investmentType = by15official.InvestmentNumber

WHERE (investmentinfo.submissionType = 2)
And (budgetInfo.byYear = 2015)

也许上面的 Access SQL 可以帮助其他人。

基本上你想在做 set 和 where 子句之前做更新和连接。有道理,而且我确信如果我更擅长编写 SQL,我就会知道这一点。

关于sql - 使用 MS Access 如何使用多个连接和 where 子句执行更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24069483/

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