1

我正在尝试在 q 中加入多个表

        a                  b                  c
    key | valuea       key | valueb       key | valuec
     1  |   xa          1  |   xb          2  |   xc
     2  |   ya          2  |   yb          4  |   wc
     3  |   za  

预期的结果是

    key | valuea | valueb | valuec
     1  |   xa   |    xb  |   
     2  |   ya   |    yb  |   xc
     3  |   za   |        |   
     4  |        |        |   wc

可以简单地实现

    (a uj b) uj c

但是有谁知道我如何以功能形式做到这一点?我不知道我实际上有多少张桌子

我基本上需要一个函数来遍历列表并将任意数量的键控表粉碎在一起......

f:{[x] x uj priorx};
f[] each (a;b;c;d;e...)

任何人都可以帮忙吗?或建议什么?

谢谢!

4

2 回答 2

1

另一个针对您的问题的解决方案也比您的解决方案快一点:

a (,')/(b;c)

于 2014-06-13T06:59:24.030 回答
1

弄清楚了... ;)

f:{[r;t]r uj t};
f/[();(a;b;c)]
于 2014-06-13T05:28:48.520 回答