我想在mysql
中使用此代码,但不知道如何使其工作:
SELECT
no1 + no2 + no3 as 'total',
'total' - no4 as 'arr',
(('total')+('arr')) * 2 / 100) as 'net'
FROM table
它显示了正确的结果,但我想要一个使用别名的压缩表单,我可以多次访问:
SELECT
no1+ no2 +no3 as 'total',
(no1+ no2 +no3) - no4 as 'arr',
((no1+ no2 +no3) - 'no4') * 2 / 100 as 'per',
((no1+ no2 +no3) - 'no4') + (((no1+ no2 +no3) - 'no4') * 2 / 100) as 'net'
FROM table
答案 0 :(得分:0)
简短的回答:这是不可能的。
的引用可以使用
AS alias_name
为 select_expr 指定别名。别名用作表达式的列名,可以在GROUP BY
,ORDER BY
或HAVING
子句中使用。
我认为别名不能用在SELECT
表达式中以避免循环依赖和无效引用(当别名表达式包含aggregate GROUP BY function时,f.e。)。
答案 1 :(得分:0)
你可以使用variables,而不是别名,有些像这样:
Select
@total := no1 + no2 + no3 ,
@arr := @total - no4,
@net := (((@total)+(@arr)) * 2 / 100)
from table