我的访问数据库中有两个表
这些表格使用"产品名称" ,我该如何更新"提醒"来自table1的值为"数量形式第一个表 - 来自第二个表的总和(销售额)"
答案 0 :(得分:1)
由于MS Access中的更新查询需要updateable状态,因此您无法在聚合查询上使用直接内部联接。考虑使用MS Access DSum()功能:
UPDATE table1
SET table1.remainder = table1.quantity -
DSum("Sales", "table2", "ProductName='" & table1.ProductName & "'")
答案 1 :(得分:0)
首先获取SUM()
UPDATE a
SET a.remainder = x.SaleTotal
FROM table1 a
INNER JOIN (SELECT productname, SUM(sales) AS SaleTotal
FROM TABLE2 GROUP BY productname) x
ON a.productname = x.productname;
答案 2 :(得分:0)
如果您说它是通过productname字段链接的,请在表1中告诉我这是一个外键。由于表2中已有ID,因此没有理由不将该ID用作表1中的外键。
如果您这样做,更新将如此简单:
gem 'sprockets-rails', '~> 2.3.3'