JOIN нескольких таблиц в Clickhouse
Поддержка JOIN’ов в Clichouse ограничена. Кроме непривычной работы самого объединения, есть еще и ограничение на последовательное объединение только двух таблиц:
SELECT date, source, pageviews, revenue, ad_spent FROM
**( SELECT date, source, sum(val) pageviews FROM pageviews GROUP BY date, source )
ANY INNER JOIN
( SELECT date, source, sum(amount) revenue FROM revenue GROUP BY date, source )
USING date, source**
***( SELECT date, source, sum(amount) ad_spent FROM ad_spending GROUP BY date, source )
USING date, source***
## Третюю таблицу добавить не получится
Однако, используя вложенные таблицы, можно объединить какое угодно число таблиц:
SELECT date, source, pageviews, revenue, ad_spent FROM
( SELECT date, source, sum(val) pageviews FROM pageviews GROUP BY date, source )
ANY INNER JOIN
**(
SELECT date, source, revenue, ad_spent FROM
( SELECT date, source, sum(amount) revenue FROM revenue GROUP BY date, source )
ANY INNER JOIN
( SELECT date, source, sum(amount) ad_spent FROM ad_spending GROUP BY date, source )
USING date, source
)**
USING date, source
## 3 таблицы в одном объединении
Используйте вложенный синтаксис, чтобы объединять больше двух таблиц в одном запросе.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: