Я пытаюсь соединить таблицу с одним столбцом с другой таблицей с несколькими столбцами. Единственный столбец в первой таблице соответствует заголовку и типу первого столбца второй таблицы, но он имеет больше значений, поскольку вторая таблица фильтрует большую основную таблицу, и этот единственный столбец принимает все отличные значения от основной таблицы для конкретной столбец.
Я хочу вернуть таблицу, в которой показаны все эти различные значения, с добавленными данными из второй таблицы и значениями NULL там, где данных нет. Таким образом, я пытаюсь объединиться в союз:
nameList uj tbl;
Но затем я неожиданно получаю следующую ошибку:
nyi: Not yet implemented
Я просмотрел документацию и не могу понять, что это значит и что я делаю неправильно. Я попытался добавить фиктивный столбец в первую таблицу, чтобы можно было ввести ее ключ, но соединение все равно не работает.
Может ли кто-нибудь посоветовать, что мне здесь не хватает?





Вместо этого вам может понадобиться lj
q)nameList:([] a:2 3 4 5)
q)tbl:([] a:3 4;b:6 7;c:8 9)
q)nameList
a
-
2
3
4
5
q)tbl
a b c
-----
3 6 8
4 7 9
q)nameList lj 1!tbl
a b c
-----
2
3 6 8
4 7 9
5
Ваша вторая таблица привязана к этому первому столбцу? В этом случае вы получите NYI.
q)([] a:2 3 4 5) uj ([a:3 4]b:6 7;c:8 9)
'nyi
[0] ([] a:2 3 4 5) uj ([a:3 4]b:6 7;c:8 9)
^
q))
потому что для объединения в объединение они должны быть либо без ключей, либо с обоими ключами (на одном и том же ключе). Поскольку вы не можете ввести ключ в свою таблицу с одним столбцом, вам придется отключить ключи от обоих, но я не думаю, что это позволит достичь того, чего вы хотите.
Как заметил Райан, вам, скорее всего, понадобится левое соединение. Или вы можете добавить фиктивный второй столбец в первую таблицу, но также ввести его и в этот первый столбец... тогда ваше объединение будет работать
Небольшие фиктивные таблицы с примерами желаемого результата были бы полезны.