(
SELECT y_id
FROM table2
WHERE id = x_id
) as y_id
FROM table1;
он отрабатывает с ошибкой типо x_id колонка не найденна
"Missing columns: 'x_id' while processing query: ...", но в схеме она есть, КХ не видит ее в подзапросе
Подскажите, как в этом случае быть с подзапросом ?
Ну потому что у вас нету в подзапросе x_id, из-за этого и не видит в верхнем запросе
тоесть в подзапросах, КХ не видит результируюшую колонку?
x_id в какой таблице ? table2 или table1 ?
create table table1 ( x_id UInt64 ) engine Memory; create table table2 ( id UInt64, y_id UInt64 ) engine Memory; insert into table1 select number as x_id from numbers(100); insert into table2 select number as id, id + 200 as y_id from numbers(50,100); select x_id, arrayFirst( x -> x[1] = x_id, ( select groupArray(array(id, y_id)) from table2 where id in (select x_id from table1) ) )[2] as y_id from table1; Вариант без JOIN, но что по памяти и производительности - без понятия.
попроьовал сделать, на стейжде КХ начал отваливаться по таймауту😅
Тогда остается JOIN, наверное. Но с ограничением по памяти, чтобы сбрасывал промежуточные данные на диск.
понял, спасибо!
Обсуждают сегодня