В вики только говорится, что для нескольких столбцов требуется словарь, а не почему, насколько я вижу.Чтобы увидеть, как q интерпретирует ваш запрос, вы можете использовать parse
.Для запроса, который вы задали выше:
q)parse"exec (qty;s) from sp"
?
`sp
()
()
,(enlist;`qty;`s)
Здесь мы видим, что это не так просто, как передача списка имен столбцов.
Если вы хотите передать имена столбцов напрямуювы можете «выполнить» таким образом:
q)sp`qty`s
300 200 400 200 100 100 300 400 200 200 300 400
s1 s1 s1 s1 s4 s1 s2 s2 s3 s4 s4 s1
Обратите внимание, что это работает только с неоключенными таблицами в памяти (без разделов).Если таблица имеет ключ, вы можете запустить (0!sp)`qty`s
, где 0!
- это сочетание клавиш без столбцов.