Q / Kdb:合并两列以创建一个新列作为列表

时间:2019-11-04 21:59:53

标签: kdb

我需要一个帮助,以使用两个预先存在的列将新列创建为列表

CcyPair, Amount1, Amount2 
USDJPY   1666     2400
EURUSD   2344     3000

我希望新输出为

CcyPair, Amount1, Amount2, NewAmount
USDJPY   1666     2400     1666 2400
EURUSD   2344     3000     2344 3000

我尝试做     选择CcyPair,Amount1,Amount2,NewAmount:(Amount1; Amount2)     从表

但是出现长度错误

任何想法如何解决。 谢谢

2 个答案:

答案 0 :(得分:3)

您应该使用,'运算符,其作用类似于“成对”附加。 请注意,在updateselect语句中,必须用方括号括起来,否则q-slq

会误解逗号。
t: ([]CcyPair: `USDJPY`EURUSD; Amount1: 1666 2344; Amount2: 2400 3000);
t: update NewAmount: (Amount1,'Amount2) from t;
t

答案 1 :(得分:2)

我认为您想要的是更新声明。

尝试:

update NewAmount:flip(Amount1;Amount2) from table

您可以在此处阅读有关更新语句的更多信息: https://code.kx.com/q4m3/9_Queries_q-sql/#95-the-update-template

相关问题