首页 > 解决方案 > 使用 Over 连接 kdb+ 中的枚举和符号列

问题描述

我在看两张表,一张有枚举列,另一张没有。我使用 (,/) 将它们连接在一起,并且不会取消枚举数据。(uj/) 和 last (,\) 都可以。有人为什么会这样吗?

KDB+ 4.0 2021.04.26 Copyright (C) 1993-2021 Kx Systems

q)enum:`a`b
q)t1:([]c1:`enum$`a`b)
q)t2:([]c1:`a`b)
q)(,/) (t1;t2)
c1
--------
`enum$`a
`enum$`b
`a
`b
q)(uj/) (t1;t2)
c1
--
a
b
a
b
q)last(,\) (t1;t2)
c1
--
a
b
a
b
q)```

标签: kdb

解决方案


我怀疑这是因为,/(连同raze) 由口译员给予特殊待遇,而其他人则没有。

一个实际的追加给你你想要的结果:

q)0N!({x,y}/)(t1;t2);
+(,`c1)!,`a`b`a`b

因此,即使{x,y}/看起来与 相同,/,但由于封面下的“特殊处理”,情况并非总是如此


推荐阅读