KDB/q 如何左连接两列

问题描述 投票:0回答:2

我正在尝试将一张桌子左连接到另一张桌子。我有一张看起来像这样的桌子:

工作表:

商店 身份证 成本 日期
安盛 2B 2.3 2023.01.01
DEP 2B 2.8 2023.01.01
动物园 2B 5.0 2023.01.02
代表 3C 8.7 2023.04.04

另一个名为 INFO_TABLE ,如下所示:

身份证 日期
2B 0.5 2023.01.01
2B 0.9 2023.01.02
3C 1.0 2023.04.04

如您所见,WORKING_TABLE 有更多行,我尝试在两列(ID 和 Date)上使用 kdb 进行左连接,以便我可以将 Tax 列添加到 WORKING_TABLE 的末尾,如下所示:

商店 身份证 成本 日期
安盛 2B 2.3 2023.01.01 0.5
DEP 2B 2.8 2023.01.01 0.5
动物园 2B 5.0 2023.01.02 0.9
代表 3C 8.7 2023.04.04 1.0

提前致谢。

join left-join kdb
2个回答
0
投票

如果您在要加入的列上键入正确的表格,它应该可以工作,就像这样

working_table lj `id`date xkey info_table

0
投票

您可以通过将日期和 ID 作为 INFO_TABLE 的键列来使用“lj”左连接。

q) WORKING_TABLE lj `Date`ID xkey select Date,ID,Tax from INFO_TABLE

Read about lj here - https://code.kx.com/q/ref/lj/
© www.soinside.com 2019 - 2024. All rights reserved.