Как создать новый столбец из столбца, недавно добавленного объединением? - PullRequest
0 голосов
/ 04 февраля 2020

Используя левое соединение, я собрал данные из двух таблиц. На основе введенных данных я также создал новый столбец с помощью оператора logi c (столбец AOIMonth).

У меня вопрос: как создать другой столбец с использованием другого logi c заявление, которое ссылается на новый столбец 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, то ab c еще 0» Спасибо!

1 Ответ

1 голос
/ 04 февраля 2020

Вам нужно повторить выражение. Вы не можете повторно использовать псевдоним, если не используете подзапрос, CTE или боковое объединение.

Итак:

(case when addmonths(b.[lastmonth], c.[Product AOI]) = xyz then abc else 0 end) as newcol
...