我试图将一些SQL放在一起根据Table_1的值更新Table_2,但问题是它只是在值是小数而不是整数时。
Table_1 Table_2
Col_A Col_B Key Col_C Col_D Key
3.2 6 331 3 6 331
5 8 332 5 8 332
1.12 9 333 1 9 333
6 10 334 6 10 334
因此,参考上面的表格,我想要做的是更新表2的Col_C以匹配基于密钥的Col_A,但前提是Col_A是小数而不是整数。
我知道你可以在这种情况下进行全面更新(更新所有表2以匹配表1)但是在实际应用程序中我使用它不起作用我只需要为小数点做,只是不知道如何缩小它们。 Col_A / C是数字(10,4)。 Col B / D是int。
请注意,这是在Netezza,不确定新西兰是否有一些特别的东西可以让你更容易做到这一点。
答案 0 :(得分:1)
这需要使用一些数学函数,尤其是floor()
:
update table_2
set . . .
from table_1
where table_2.col_C = floor(table_1.col_A) and
table_1.col_A > floor(table_1.col_A);