微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

两个表的交叉连接

如何解决两个表的交叉连接

我有两个表 xy。我想加入列 b 以便在输出中得到 z

x:([a:1 2 1 3]; b:`a`a`b`b)
q) a | b
   -----
   1 | a
   2 | a
   1 | b
   3 | b

y:([b:`a`a`a`b]; c:7 8 9 10)
q) b |  c
   ------
   a |  7
   a |  8
   a |  9
   b | 10

所需的输出

q) a |  b |  c
   -----------
   1 |  a |  7
   1 |  a |  8
   1 |  a |  9
   2 |  a |  7
   2 |  a |  8
   2 |  a |  9
   1 |  b | 10
   3 |  b | 10

这是某种交叉连接吗?

解决方法

equi join (ej) 将产生您想要的结果:

q)ej[`b;x;y]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。