如何在同一查询的其他地方使用列别名?在Oracle中可以吗?
使用 EMP_ID 的示例:
SELECT
t1.DATE, t2.NAME, t1.ID,
TO_NUMBER( SUBSTR( t1.NUMBER_ID, - 6)
|| TRIM( TO_CHAR( SUBSTR(EMP_ID, 3, 2), '00' ) ), '999999999999') AS CONTRACT,
t2.ADDRESS,
CASE WHEN SUBSTR(t2.COD_EMP, 0, 2) != 'PG' THEN 'PG00'
|| t2.COD_EMP ELSE t2.COD_EMP END AS EMP_ID
FROM
TABLE_01 t1
INNER JOIN TABLE_02 t2 .....
根据标准 SQL:任何特定的所有列SELECT
子句的计算“就好像”它们都是并行计算的(以允许某些实现精确地执行此操作)。
因此,您不允许依赖于同一列中定义的另一列SELECT
子句,因为它的值尚未计算。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)