kdb/Q 当一列是日期时无法在多列上左连接

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

我有两个表,每个表都有多个列。每个表的说明如下:

表_a

专栏 类型 第一行
名字 字符 艾米
日期 日期 2023.01.01
距离 漂浮 32.2

...

表_b

专栏 类型 第一行
名字 字符 艾米
日期 日期 2023.01.01

...

我尝试在姓名和日期上左连接,因为有些人在不同的日子出现两次。

我尝试了以下方法:

joined_tables: table_a lj `name`date xkey select name, date, ... from table_b;

但是,我收到以下消息:

'date
  joined_tables: table_a lj `name`date xkey select name, date, ... from table_b;
                                                                                                       
                                                                        ^

我似乎无法将这两个专栏加入,我正在向社区寻求帮助,如果有人以前经历过类似的事情并可以帮助提供建议。

我想可能是因为日期列是date类型的,是不是要改成symbol呢?我尝试投射,但它会给我一个错误。

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

你尝试过一个小例子吗?这个效果很好。

q)a:([]name:`a`b`c;date:1 2 3; dist:10 20 30)
q)b:([]name:`a`b;date:1 2; city:"ab")
q)a lj `name`date xkey b
name date dist city
-------------------
a    1    10   a
b    2    20   b
c    3    30
© www.soinside.com 2019 - 2024. All rights reserved.