0

我正在尝试UPDATE根据源表中值的计数来计算一个表中列的值。我正在使用 Teradata Aster。

当我提交以下相关子查询时,我收到一个错误,指出该列不存在,尽管验证它确实存在。

UPDATE table2
SET column =
(
SELECT count(*)
FROM table1
WHERE table2.column = table1.column
)

我觉得 Aster 有一些特殊之处,但我不确定。

4

1 回答 1

0

您可以使用以下查询从另一个表中进行简单的列更新。

  UPDATE table1
  SET col2 = table2.col2
  FROM table2 
  WHERE table1.col1 = table2.col1;

对于更新查询中的聚合函数,您可以使用以下查询。

 UPDATE table1
 SET col2 = table2.col2
 FROM (select col1, count(col2) col2 from table2 group by col1 ) table2
 WHERE table1.col1 = table2.col1;

这两个查询对我来说都很好。

于 2019-03-13T07:05:27.507 回答