Как создать новый столбец из столбца, недавно добавленного путем объединения?
Используя левое соединение, я собрал данные из двух таблиц. Из введенных данных я также создал новый столбец, используя логический оператор (столбец AOIMonth).
У меня возникает вопрос: как мне создать еще один столбец, используя другой логический оператор, который ссылается на новый столбец AOIMonth? Столбец AOIMonth не объявлен в таблице, так как я могу ссылаться на этот столбец? Вот код, который у меня есть:
select c.*, b.[FirstMonth], b.[LastMonth], addmonths(b.[lastmonth], c.[Product AOI]) as AOIMonth
from [Churn Custom v4] c
left join (
select[Line #1], min(Max_Month_Day) as [FirstMonth], max(Max_Month_Day) as
[LastMonth]
from [Churn Custom v4]
where [Invoiced_Flag]=1
Group by [Line #1] ) b
on c.[Line #1] = b.[Line #1]
order by c.[Max_Month_Day]
По сути, я хочу сказать: "Если AOIMonth = xyz, то abc else 0" Спасибо!
1 ответ
Решение
Вам нужно повторить выражение. Вы не можете повторно использовать псевдоним, если не используете подзапрос, CTE или боковое соединение.
Так:
(case when addmonths(b.[lastmonth], c.[Product AOI]) = xyz then abc else 0 end) as newcol