Можно ли запросить столбец utm_medium
сразу после его создания?
Скорее всего, нет.
Некоторые движки могут поддерживать этот нестандартный SQL особенность, которую вы хотите. Вы не упоминаете, какую базу данных вы используете, поэтому неясно.
Общее решение для этого - создать истинный столбец с нужным именем, используя табличное выражение или a CTE.
Например:
select
col1,
col2,
CASE
WHEN utm_medium = 'paidsocial'
THEN channel = 'Paid Social'
WHEN utm_medium = 'email'
THEN channel = 'Email'
END
from (
select
col1,
col2,
CASE WHEN url LIKE 'utm_medium'
THEN
SPLIT_PART( -- slice UTM from URL
SPLIT_PART(pageviews.url,'utm_medium=',2)
,'&',1
)
ELSE NULL
END AS utm_medium
from my_table
) x
Этот пример будет работать практически на всех базах данных. Как вы видите, табличное выражение x
использовалось в предложении FROM
, эффективно определяя в нем столбец с именем utm_medium
. Тогда основной запрос может просто использовать этот столбец сразу.