我有两个表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
但这是一个错误,因为我无法在子查询中运行聚合函数。我已经查明了如何做到这一点,但我无法理解。有人可以指导我朝正确的方向发展吗?
min
不能用于where子句。但是,它可以在where子句中使用的子查询中使用。请尝试以下查询。它应该为你做的伎俩。
Update B
Set d = (select min(A.c) From A where A.a = B.b)