如何串联更新语句中的列

时间:2019-01-14 10:33:43

标签: kdb

我有这张桌子:

t:([] name:("aaa";"bbb";"ccc";"dddd"); side:(1;2;1;2))

现在,我想添加一个新列“ concatenated”,其中包含一个符号,该符号是每行两个值的串联: 我认为我必须对每个副词都这样做,但这在这里不起作用:

update concatenated:((`$name),'(`$side)) from t

我该如何更改?谢谢。

1 个答案:

答案 0 :(得分:1)

您的尝试已解决问题,如果您先将“ side”列转换为字符串格式,则可以解决问题

我添加了两个版本,一个版本不将两个值合并在一起,另一个版本将其合并为单个符号

q)t:([] name:("aaa";"bbb";"ccc";"dddd"); side:(1;2;1;2))
q)update conc:((`$name),'`$string side) from t
name   side conc  
------------------
"aaa"  1    aaa  1
"bbb"  2    bbb  2
"ccc"  1    ccc  1
"dddd" 2    dddd 2
q)update conc:(`$name,'string side) from t
name   side conc 
-----------------
"aaa"  1    aaa1 
"bbb"  2    bbb2 
"ccc"  1    ccc1 
"dddd" 2    dddd2

希望这会有所帮助