【发布时间】:2020-01-30 19:01:19
【问题描述】:
我想使用 Update 关键字和 select 类似的东西
UPDATE(select col1,col2,col3 from UNPIVOTED_TABLE)
SET col1=0
WHERE col1 IS NULL
SET col2=0
WHERE col2 is NULL
SET col3=0
WHERE col3 is NULL
我知道我的语法不正确,但这基本上是我想要实现的目标
我选择了 3 列,我想更新一些 null 值并将其设置为 0
我也无法更新表本身,因为原始表是UNPIVOTED,而我在 select 语句中是PIVOTING,我需要透视结果(即我选择的列)(col1,col2,col3 )
如果相关的话,我也在使用亚马逊雅典娜
【问题讨论】:
-
您是在寻找
update语句(实际修改某个表中的数据),还是在寻找select? -
您可能需要向我们展示示例数据和预期结果以澄清您的问题。你的 SQL 没有意义。
-
您使用的是雅典娜还是 MySQL?这是两种不同的数据库产品,请仅标记您正在使用的一种。
-
这只是
UPDATE UNPIVOTED_TABLE SET col1 = COALESCE(col1, 0), col2 = COALESCE(col2, 0), col3 = COALESCE(col3, 0) WHERE col1 IS NULL OR col2 IS NUL or col3 IS NULL? -
使用
SELECT id, ... , COALESCE(col1, 0) AS col1, COALESCE(col2, 0) AS col2, COALESCE(col2, 0) col3, ... FROM UNPIVOTED_TABLE;查询而不是表。
标签: sql select presto amazon-athena