KDB +合并多个更新语句

2 kdb

q)d:([] f1:`a`b` ;f2:```c; m1:`x``z;m2:``y`z)

f1 f2 m1 m2
-----------
a     x    
b        y 
   c  z  z 
Run Code Online (Sandbox Code Playgroud)

我想更新f1&m1f2&m2如果分别f1m1nulls; 实际上我想将这两个查询合并到一个更新语句中:

update f1:f2 from d where null f1
update m1:m2 from d where null m1`
Run Code Online (Sandbox Code Playgroud)

Jon*_*ray 5

您可能要考虑的另一种选择是fill,^它允许您使用另一个列表中的项填充一个列表中的空值(在这种情况下,列表是表中的列),例如

q)d:([] f1:`a`b` ;f2:```c; m1:`x``z;m2:``y`z)
q)update f2^f1,m2^m1 from d
f1 f2 m1 m2
-----------
a     x
b     y  y
c  c  z  z
Run Code Online (Sandbox Code Playgroud)