kdb объединяет (объединяет) таблицы с повторяющимися столбцами
Я хотел бы объединить (объединить) 2 или более таблиц KDB с повторяющимися столбцами:
d1:`a`b`c!(1 2 3;4 5 6;7 8 9)
d2:`a`b`c`a!(10 20 30;40 50 60;70 80 90;100 110 120)
t1: flip d1
a b c
-----
1 4 7
2 5 8
3 6 9
t2: flip d2
a b c a
------------
10 40 70 100
20 50 80 110
30 60 90 120
Я пытаюсь объединить 2 таблицы с nils, где таблица не имеет значения, что-то вроде следующего:
a b c a
------------
1 4 7
2 5 8
3 6 9
10 40 70 100
20 50 80 110
30 60 90 120
t1 uj t2
yeilds (имеет только столько столбцов, сколько определил t1):
a b c
--------
1 4 7
2 5 8
3 6 9
10 40 70
20 50 80
30 60 90
t2 uj t1
(повторяет записи из t1, где они недоступны)
a b c a
------------
10 40 70 100
20 50 80 110
30 60 90 120
1 4 7 1
2 5 8 2
3 6 9 3
Это возможно? или мне нужно заранее определить таблицу, которая может вместить все возможные столбцы? Любой совет будет принят во внимание.
С уважением Клиффорд
1 ответ
Ваша вторая таблица имеет 2 столбца с одинаковыми именами ('a'), и это создает проблему. переименуйте его, и UJ будет работать.
q) t1:flip `a`b`c!(1 2 3;4 5 6;7 8 9)
q) t2:flip `a`b`c`d!(10 20 30;40 50 60;70 80 90;100 110 120)
q) t1 uj t2
a b c d
1 4 7
2 5 8
3 6 9
10 40 70 100
20 50 80 110
30 60 90 120