我尝试在col1和col2的串联上执行总和时执行逻辑 对于。例如第1行的col3 =(0.2 + -0.1 = 0.1) 第2行=(12)等
基于求和值,我需要填充col3,使得如果< 0然后返回0否则求和值。
之前
在
正在使用的查询
UPDATE table
SET col = (
CASE WHEN
(SELECT ABS(SUM(B.VOLUME)) FROM table B
WHERE CONCAT(B.col1,B.col2) = CONCAT(col1,col2)) < 1 THEN 0
ELSE (SELECT SUM(B.VOLUME) FROM table B WHERE CONCAT(B.col1,B.col2) = CONCAT(col1,col2))
END
)
FROM table B
我看不出我做错了什么。
答案 0 :(得分:0)
该问题由@ZLK回答如下:
如果使用2012+,我相信这个更新语句可以通过SUM()OVER()窗口函数简单地实现。
例如,
^.*\b(Turin|Milan)\b.*$