с константными ключами?
with map(1,3,2,4) as mapper
select mapper[number] from numbers(2);
Code: 44, e.displayText() = DB::Exception: Illegal column Const(Map(UInt8, UInt8)) of first argument of function arrayElement: while executing 'FUNCTION arrayElement(mapper :: 1, number :: 0) -> arrayElement(mapper, number) UInt8 : 2' (version 21.3.3.14 (official build))
map это не массив это {k:v}
но доставать по ключу в нем же можно: > Чтобы получить значение из колонки a Map('key', 'value'), используйте синтаксис a['key']. В настоящее время такая подстановка работает по алгоритму с линейной сложностью. with map(1,3,2,4) as mapper select mapper[1]; я думал это с большего удобные вариант компоновки двух массивов keys, value... причет так работает норм: with map(1,3,2,4) as mapper select mapValues(mapper)[indexOf(mapKeys(mapper), number)] from numbers(3);
не понял , у вас map ┌─mapper────┐ │ {1:3,2:4} │ └───────────┘ ?
ну да чисто для теста показать
скорее всего просто не реализовано, потому что usecase непонятен
Обсуждают сегодня