比较三列中的数字,然后根据布尔检查的结果创建一个新列。
id col1 col2 col3 col4
---------------------------------------------
update checkCol:$[(exec col1 from table)~(exec col2 from table1)~(exec col3 from table2);1;0] from table
我知道上面的代码行不通,但它很好地说明了我想要实现的目标。除了标准更新语句之外,还有其他更好的方法吗?
q)tb:([] id:1 2 3 4; num1: 20 22 24 26; num2: 21 22 24 27; num3: 20 22 24 28)
q)tb
id num1 num2 num3
-----------------
1 20 21 20
2 22 22 22
3 24 24 24
4 26 27 28
q)n1:exec num1 from tb
q)n2:exec num2 from tb
q)n3:exec num3 from tb
q){$[y~x;1;0]}'[n1;n2]
0 1 1 0
添加第三列会导致问题