Ms access 嵌套查询microsoft access
我有一张交易记录表。该表包含多个供应商,多笔交易,多笔交易金额。如果某个供应商的交易额是该供应商平均交易额的两倍以上,我需要更新该表。到目前为止,我发现以下代码是错误的:Ms access 嵌套查询microsoft access,ms-access,nested-queries,Ms Access,Nested Queries,我有一张交易记录表。该表包含多个供应商,多笔交易,多笔交易金额。如果某个供应商的交易额是该供应商平均交易额的两倍以上,我需要更新该表。到目前为止,我发现以下代码是错误的: Update tblTransaction SET VariabilityIndicator = 1 WHERE transactionNumber IN (Select transactionNumber From tblTransaction GROUP BY VendorName HAVING transactionAm
Update tblTransaction
SET VariabilityIndicator = 1
WHERE transactionNumber IN
(Select transactionNumber
From tblTransaction
GROUP BY VendorName
HAVING transactionAmount >= AVG(transactionAmount*2))
上面的代码显然是错误的。我提出了一个可以嵌套的语句:
SELECT AVG(transactionAmount) VendorName
FROM tblTransaction
GROUP BY VendorName
这将返回所有VendorNames及其平均交易金额。如何嵌套它,以便将TransactionMount与供应商名称匹配的平均值进行比较
Update tblTransaction
SET VariabilityIndicator = 1
WHERE transactionNumber IN
(
Select T.TransactionNumber
from tblTransaction as T
Where T.transactonAmount > 2 * (
Select AVG(transactionAmount)
From tblTransaction as A
Where A.VendorName = T.VendorName
)
)
您可能需要检查您的业务逻辑,以从平均计算中排除正在评估的TransactionMount。此外,您可能不希望在供应商名称上进行匹配,而是在某种ID号/主键值上进行匹配