使用内部联接查询更新

使用内部联接查询更新

本文介绍了访问 - 使用内部联接查询更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个查询:

UPDATE client
SET client.[client_history] = 10
FROM  [T_CLIENT] AS client
     INNER JOIN (SELECT [client_id], SUM([final_price])
            FROM [T_PURCHASE]
            GROUP BY [client_id]) AS p
     ON client.[client_id] = p.[client_id]

当我在访问时执行此查询时,我收到语法错误".你看错了吗?

When i execute this query on access, i get "Syntax Error".Did you see something wrong?

谢谢

推荐答案

您可以使用 DSUM 对更新查询中的不同表求和.带有聚合的子查询将不起作用,因为它们不可更新.

You can use a DSUM to sum from a different table in an update query. Subqueries with aggregates won't work, because they're not updateable.

UPDATE t_client
SET [client_history] = DSUM("final_price", "T_PURCHASE", "client_id = " & client_id)

这篇关于访问 - 使用内部联接查询更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-12 18:31