2016-04-01 10 views
1

У меня есть стол с кучей столбцов разных типов. Мне нужно удалить все столбцы определенного типа, но я не могу понять, как это сделать.Удалить столбец по типу в KDB +

Я хотел бы что-то вроде этого:

delete from quotes where type = 11 

Но это не работает. Есть ли способ сделать это? Я также был в состоянии перечислить соответствующие столбцы с помощью команды

select c from meta quotes where type="s" 

Но это дает мне стол в один столбец с заголовками столбцов, и я не знаю, куда идти оттуда.

ответ

1

Может использовать функционал удаления (!), Или взять (#) или падение (_)

q)t:([] col1:`a`b`c;col2:1 2 3;col3:`x`y`z;col4:"foo") 

q)![t;();0b;exec c from meta[t] where t="s"] 
col2 col4 
--------- 
1 f 
2 o 
3 o 

q)(exec c from meta[t] where t<>"s")#t 
col2 col4 
--------- 
1 f 
2 o 
3 o 

q)(exec c from meta[t] where t="s") _ t 
col2 col4 
--------- 
1 f 
2 o 
3 o 

 Смежные вопросы

  • Нет связанных вопросов^_^