Sql 引用在“选择”中创建的自定义列

Sql 引用在“选择”中创建的自定义列,sql,presto,Sql,Presto,我想引用上面创建的列简写名称,以大大简化DATE\u DIFF行的可读性,但我不确定这是否允许 下面的代码可能吗?请注意,DATE\u DIFF的输入是在前面的两行中启动的 SELECT DISTINCT Stuff , DATE_FORMAT(FROM_UNIXTIME(date1), '%Y-%d-%m') as Date_Start , DATE_FORMAT(FROM_UNIXTIME(date2), '%Y-%d-%m') as Date_End ,

我想引用上面创建的列简写名称,以大大简化
DATE\u DIFF
行的可读性,但我不确定这是否允许


下面的代码可能吗?请注意,
DATE\u DIFF
的输入是在前面的两行中启动的

SELECT DISTINCT
    Stuff ,
    DATE_FORMAT(FROM_UNIXTIME(date1), '%Y-%d-%m') as Date_Start ,
    DATE_FORMAT(FROM_UNIXTIME(date2), '%Y-%d-%m') as Date_End  ,
    DATE_DIFF( 'day' , Date_Start , Date_End) + 1 as Date_Delta ,    `<-- HERE
    More_Stuff 
FROM T1
LEFT JOIN T2
    ON Stuff = More_Stuff
LEFT JOIN T3
    ON More_Stuff = Other_Stuff
选择DISTINCT
东西
日期格式(从UNIXTIME(date1),“%Y-%d-%m”)作为日期开始,
日期格式(从UNIXTIME(date2),“%Y-%d-%m”)作为日期结束,

DATE_DIFF('day',DATE_Start,DATE_End)+1作为DATE_Delta,`您可能会看到:

SELECT
    Stuff
    , Date_Start
    , Date_End
    , DATE_DIFF( 'day' , Date_Start , Date_End) + 1 as Date_Delta
    , More_Stuff
FROM
    (
        SELECT DISTINCT
            Stuff ,
            DATE_FORMAT(FROM_UNIXTIME(date1), '%Y-%d-%m') as Date_Start ,
            DATE_FORMAT(FROM_UNIXTIME(date2), '%Y-%d-%m') as Date_End  ,
            DATE_DIFF( 'day' , Date_Start , Date_End) + 1 as Date_Delta ,
            More_Stuff 
        FROM T1
        LEFT JOIN T2
            ON Stuff = More_Stuff
        LEFT JOIN T3
            ON More_Stuff = Other_Stuff
    ) as Q
或:


要在
SELECT
部分中使用字段,它必须存在于
FROM
部分中。

这是令人失望的。不过,感谢你证实了我的恐惧!
SELECT DISTINCT
    Stuff ,
    DATE_FORMAT(FROM_UNIXTIME(date1), '%Y-%d-%m') as Date_Start ,
    DATE_FORMAT(FROM_UNIXTIME(date2), '%Y-%d-%m') as Date_End  ,
    DATE_DIFF( 'day' , DATE_FORMAT(FROM_UNIXTIME(date1), '%Y-%d-%m') , DATE_FORMAT(FROM_UNIXTIME(date2), '%Y-%d-%m')) + 1 as Date_Delta ,
    More_Stuff 
FROM T1
LEFT JOIN T2
    ON Stuff = More_Stuff
LEFT JOIN T3
    ON More_Stuff = Other_Stuff