Мой вопрос касается создания таблицы с помощью 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
, а не инициализирую сам. Нужно ли делать копию из списка?