MS-Access - 使用加入另一个 table 的结果更新列
MS-Access - update column using results from joining another table
我需要更新 Amounts.Amt_lcy,方法是将 Amt_fcy 列与相应的 Fx_rates.Rate 相乘,方法是连接数据上的两个表。
*Amounts*
Data | Amt_fcy | Amt_lcy
31/03/2018 10
30/04/2018 15
*Fx_rates*
Data | Rate
31/03/2018 2.5
30/04/2018 3.1
我的查询如下:
更新金额集 Amt_lcy=(select Amounts.Amt_fcy*Fx_rates.Rate 从剩余的金额加入 Fx_rates on Amounts.Data=Fx_rates.Data)
我一定是犯了一些基本错误,因为我得到了 'Operation must use an updateable query' 错误。
欢迎任何帮助
这是一个常见问题。
在 Access 的更新查询中,任何查询中的所有列,包括子查询但不包括 EXISTS
子句,都需要是可更新的。
由于您在子查询中计算 Amounts.Amt_fcy*Fx_rates.Rate
,而且它不可更新,因此查询失败。
可以重写此查询以在主查询中执行该计算,同时操作速度更快:
Update Amounts
Left join Fx_rates on Amounts.Data=Fx_rates.Data
set Amt_lcy = Amounts.Amt_fcy*Fx_rates.Rate
我需要更新 Amounts.Amt_lcy,方法是将 Amt_fcy 列与相应的 Fx_rates.Rate 相乘,方法是连接数据上的两个表。
*Amounts*
Data | Amt_fcy | Amt_lcy
31/03/2018 10
30/04/2018 15
*Fx_rates*
Data | Rate
31/03/2018 2.5
30/04/2018 3.1
我的查询如下:
更新金额集 Amt_lcy=(select Amounts.Amt_fcy*Fx_rates.Rate 从剩余的金额加入 Fx_rates on Amounts.Data=Fx_rates.Data)
我一定是犯了一些基本错误,因为我得到了 'Operation must use an updateable query' 错误。 欢迎任何帮助
这是一个常见问题。
在 Access 的更新查询中,任何查询中的所有列,包括子查询但不包括 EXISTS
子句,都需要是可更新的。
由于您在子查询中计算 Amounts.Amt_fcy*Fx_rates.Rate
,而且它不可更新,因此查询失败。
可以重写此查询以在主查询中执行该计算,同时操作速度更快:
Update Amounts
Left join Fx_rates on Amounts.Data=Fx_rates.Data
set Amt_lcy = Amounts.Amt_fcy*Fx_rates.Rate