знаю.
Ситуация такая: у меня есть json вида [{"name":"aaa","date":"2020-02-01 15:44:33","val":222},{"name":"bbb","date":"2020-03-01 15:44:33","val":333}], хочется его использовать в запросе как то так
select <some> from table1 t join @json j on j.name = t.name where ....
Единственный вариант, который я пока нашел - это создавать таблицу с engine=Memory(), вливать туда данные, использовать и потом грохать. При этом в документации говорится, что именно так ведет себя КХ при обработке IN с большими данными. Вопрос - есть ли какие то другие способы?
Да, есть вот такой подход с внешними данными
Спасибо, но это мне скорее всего не годится. Я подключаюсь к КХ из c# и мне нужно использовать json как таблицу внутри запроса. Буду использовать CREATE TEMPORARY TABLE, это мне подойдет. Спасибо за ответ.
а что with? with T as (select ... ) select join T или там длинный json ? или вообще не json?
с with не разобрался до конца, пока что обошелся create temporary table / insert / select. Там json, но как написать with чтобы потом можно было использовать в запросе - неясно (мне пока что не ясно, если дадите пример, буду благодарен безмерно)
Обсуждают сегодня