我正在尝试UPDATE
根据源表中值的计数来计算一个表中列的值。我正在使用 Teradata Aster。
当我提交以下相关子查询时,我收到一个错误,指出该列不存在,尽管验证它确实存在。
UPDATE table2
SET column =
(
SELECT count(*)
FROM table1
WHERE table2.column = table1.column
)
我觉得 Aster 有一些特殊之处,但我不确定。
我正在尝试UPDATE
根据源表中值的计数来计算一个表中列的值。我正在使用 Teradata Aster。
当我提交以下相关子查询时,我收到一个错误,指出该列不存在,尽管验证它确实存在。
UPDATE table2
SET column =
(
SELECT count(*)
FROM table1
WHERE table2.column = table1.column
)
我觉得 Aster 有一些特殊之处,但我不确定。
您可以使用以下查询从另一个表中进行简单的列更新。
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;
这两个查询对我来说都很好。