sql – 在UPDATE查询中使用SELECT

前端之家收集整理的这篇文章主要介绍了sql – 在UPDATE查询中使用SELECT前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在Microsoft Access 2007中使用SELECT查询的结果UPDATE一个表的字段.

这是选择查询

SELECT Min(TAX.Tax_Code) AS MinOfTax_Code
FROM TAX,FUNCTIONS

WHERE (((FUNCTIONS.Func_Pure)<=[Tax_ToPrice]) AND ((FUNCTIONS.Func_Year)=[Tax_Year]))

GROUP BY FUNCTIONS.Func_ID;

这里是更新查询

UPDATE FUNCTIONS

 SET FUNCTIONS.Func_TaxRef = [Result of Select query]

解决方法

那么看起来Access在UPDATE查询中无法进行聚合.但它可以在SELECT查询中进行聚合.所以创建一个如下定义的查询
SELECT func_id,min(tax_code) as MinOfTax_Code
FROM Functions
INNER JOIN Tax 
ON (Functions.Func_Year = Tax.Tax_Year) 
AND (Functions.Func_Pure <= Tax.Tax_ToPrice) 
GROUP BY Func_Id

并将其另存为YourQuery.现在我们必须解决另一个Access限制. UPDATE查询无法对查询进行操作,但可以对多个表进行操作.所以让我们将查询转换成一个具有Make Table查询的表:

SELECT YourQuery.* 
INTO MinOfTax_Code
FROM YourQuery

这将视图的内容存储在名为MinOfTax_Code的表中.现在你可以做一个UPDATE查询

UPDATE MinOfTax_Code 
INNER JOIN Functions ON MinOfTax_Code.func_id = Functions.Func_ID 
SET Functions.Func_TaxRef = [MinOfTax_Code].[MinOfTax_Code]

在Access中执行sql有一个延伸,我会查看您的项目的sql Server Express Edition!

猜你在找的MsSQL相关文章