TGViewer
Nik в мире данных Nik в мире данных @analytics_engineer · 1.31K subscribers
Post #39 1.65K
Будни SQLщика в Clickhouse

1. Рассмотрим базовый запрос

select a1, a2, a3 from (
select a1, a2, a3 from
(
select 1 as a1
) a1
any left join
(
select 1 as a2
) a2
on a1.a1 = a2.a2
any left join
(
select 1 as a3
) a3
on a1.a1 = a3.a3
)


Запрос прекрасно работает

2. Добавим полное именование во внутренний запрос


select a1, a2, a3 from (
select a1.a1, a2.a2, a3.a3 from
(
select 1 as a1
) a1
any left join
(
select 1 as a2
) a2
on a1.a1 = a2.a2
any left join
(
select 1 as a3
) a3
on a1.a1 = a3.a3
)


Запрос перестает работать с ошибкой missing columns a1, a2, a3

3. Добавив alias во внутренний подзапрос все снова работает



select a1, a2, a3 from (
select a1.a1 as a1, a2.a2 as a2, a3.a3 as a3 from
(
select 1 as a1
) a1
any left join
(
select 1 as a2
) a2
on a1.a1 = a2.a2
any left join
(
select 1 as a3
) a3
on a1.a1 = a3.a3
)



Ну, кажется, логика плюс-минус понятна, полный алиасинг не прокидывается во внешний запрос


4. Однако!


select a1, a2 from (
select a1.a1, a2.a2 from
(
select 1 as a1
) a1
any left join
(
select 1 as a2
) a2
on a1.a1 = a2.a2
)


Работает!

(На этом месте автор ушел пить мяту и думать о вечном)

P.S. Автор понимает, что покопавшись в планах и коде самого КХ логическое объяснение может быть получено довольно просто, однако страдания обычного SQLщика от этого меньше не становятся
  • 😁 6
  • 🤔 3
  • 😱 3
More from @analytics_engineer
  1. Aug 30, 2026AI Dev Tools Zoomcamp 2026 launches tomorrow. The course teaches you how to: - Choose the…
  2. Aug 10, 2026В целом, заметил, что в моем bubble нетворке обсуждают подписки и конкретные модели сильно…
  3. Jul 28, 2026Решил сделать площадку для обсуждений / созвонов по Agentic / AI Engineering in Data на ос…
  4. Jul 20, 2026Ищу к себе двух инженеров, удаленка (100-150$k) Вакансия ближе к разработке и ML https://j…
  5. Jul 6, 2026в бигтехе после сокращений, флатерингов, лейфоф промзошла тихая девальвация уровней. она и…
  6. Jun 30, 2026DEMate - тот, кто тебя заменит Meta пошарила статью про DEmate - внутреннего AI-ассистента…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →