Meh*_*lar 2 sql oracle select alias
Oracle PL/SQL不允许用户在条件中使用别名.在大多数情况下,使用别名而不是长语句对我来说非常实用.这是什么原因?如果我们可以在条件中使用别名会发生什么不好?
示例案例:此SQL查询有什么问题?
我认为这只是因为这是SQL标准规定的内容.我不同意gd047 无法使用别名:HAVING子句对查询的(中间)结果进行操作,即在聚合之后,因此对于查询解析器使用别名来说似乎非常简单访问该结果.
您当然可以避免像这样重复SUM(使用链接问题中的示例):
SELECT *
from
( SELECT donem, bolge_adi, sehir_tasra "1=S, 2=T",
COUNT(DISTINCT mekankodu) "M.SAYISI",
SUM(b2b_dagitim + b2b_transfer - b2b_iade) satis
FROM mps_view2
WHERE donem IN ('200612','200712','200812','200912')
AND (ob IS NOT NULL OR b2b_ob IS NOT NULL)
GROUP BY donem, bolge_adi, sehir_tasra
)
WHERE satis > 0
ORDER BY donem, bolge_adi, sehir_tasra
Run Code Online (Sandbox Code Playgroud)