我的问题是关于用 q 创建一个表并使用外键。我知道如何通过以下方式做到这一点
q)T1:([id:1 2 3 4 5]d1:"acbde")
q)T2:([id:1 2 3 4 5]f1:`T1$2 2 2 4 4)
但是现在可以说我想用!
操作员以这种方式翻转字典来创建表
q)T3:1!flip ((`id`f1 )!((1 2 3 4 5);(2 2 2 4 4)))
如何使用这种创建表的方式将外键设置为表 T1 的主键。
更新
好吧,我认为我上面的例子足以让我自己解决我的实际问题,但不幸的是它不是。
如果我有列表布局 A 和 B 的列表怎么办
q)A:enlist 1 2 3 4 5
q)B:(enlist "abcde"), (enlist `v`w`x`y`z)
q)flip (`id`v1`v2)!(B,A)
如何将列表 A 作为表 T1 的外键?
更新 2
如果我A
来自某个地方,而不是自己初始化它,我将如何实现它。我必须从列表中复制一份吗?