SQL使用约束获取最小的子查询

问题描述 投票:0回答:1

我有两个表A和B,以及列a(在A中)和b(在B中)。这些列具有相同的值但名称不同。表A中的列c具有int值。我想更新表B中的列d,以便:

列D中的每个条目是C中具有a和b中匹配值的条目的最小值。

我写了这个查询:

Update B
Set d = min(select A.c From A where A.a = B.b) 
From A, B

但这是一个错误,因为我无法在子查询中运行聚合函数。我已经查明了如何做到这一点,但我无法理解。有人可以指导我朝正确的方向发展吗?

sql aggregate-functions
1个回答
1
投票

min不能用于where子句。但是,它可以在where子句中使用的子查询中使用。请尝试以下查询。它应该为你做的伎俩。

Update B
Set d = (select min(A.c) From A where A.a = B.b) 
© www.soinside.com 2019 - 2024. All rights reserved.