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&m1列f2&m2如果分别f1与m1有nulls; 实际上我想将这两个查询合并到一个更新语句中:
update f1:f2 from d where null f1
update m1:m2 from d where null m1`
Run Code Online (Sandbox Code Playgroud)
您可能要考虑的另一种选择是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)