【问题标题】:Accumulator gives different result then direct function applying累加器给出不同的结果然后直接应用函数
【发布时间】:2021-02-17 09:17:09
【问题描述】:

尝试合并两个结果集我在加入两个键控表时遇到了不同的行为:

q)show t:([a:1 1 2]b:011b)
a| b
-| -
1| 0
1| 1
2| 1
q)t,t
a| b
-| -
1| 1
1| 1
2| 1
q)(,/)(t;t)
a| b
-| -
1| 1
2| 1

为什么累加器 ,/ 会删除重复的键,为什么它的结果与直接表连接 , 不同?

【问题讨论】:

    标签: kdb k


    【解决方案1】:

    我怀疑加入(又名,/ 又名raze)在幕后有特殊处理,不会暴露给最终用户。

    解释器识别,/ 并根据输入以某种方式运行。这可能适用于字典和键控表:

    q)raze(`a`a`b!1 2 3;`a`b!9 9)
    a| 9
    b| 9
    q)
    q)(`a`a`b!1 2 3),`a`b!9 9
    a| 9
    a| 2
    b| 9
    q)
    q)({x,y}/)(`a`a`b!1 2 3;`a`b!9 9)
    a| 9
    a| 2
    b| 9
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多