两张表的交叉连接

Cross join of two tables

我有两个表 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]