加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 在UPDATE查询中使用SELECT

发布时间:2020-12-12 06:24:56 所属栏目:MsSql教程 来源:网络整理
导读:如何在Microsoft Access 2007中使用SELECT查询的结果UPDATE一个表的字段. 这是选择查询: SELECT Min(TAX.Tax_Code) AS MinOfTax_CodeFROM TAX,FUNCTIONSWHERE (((FUNCTIONS.Func_Pure)=[Tax_ToPrice]) AND ((FUNCTIONS.Func_Year)=[Tax_Year]))GROUP BY FUNC
如何在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!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读