我正在使用
case
when condition1 then ....
when condition2 then ....
when condition3 then ....
end aliasname1
现在我想为aliasname2使用相同的值。我读到我们不能为同一列使用多个别名。
此外,我不想在from子句中使用子查询。
因此,如果case返回值,假设10
,我希望将相同的值分配给aliasname1
和aliasname2
。
我该怎么做?
更新:目前我正在使用它
case
when condition1 then ....
when condition2 then ....
when condition3 then ....
end aliasname1
case
when condition1 then ....
when condition2 then ....
when condition3 then ....
end aliasname2
对aliasname2
使用相同的案例(复制粘贴)。由于重复,这对我的眼睛看起来并不好看。
答案 0 :(得分:1)
如果我理解您的问题,您可以使用具有不同别名的相同列。
这很好用:
SELECT Field as Alias1, Field as Alias2
FROM TABLE
以下是SQL Fiddle向您展示。
要回答你的问题,
SELECT
CASE WHEN <SOME CRITERIA> THEN 10 END as Alias1,
CASE WHEN <SOME CRITERIA> THEN 10 END as Alias2
...
祝你好运。
答案 1 :(得分:1)
复制案例构造
select case
when condition1 then ....
when condition2 then ....
when condition3 then ....
end aliasname1,
case
when condition1 then ....
when condition2 then ....
when condition3 then ....
end aliasname2
...
或
select aliasname1, aliasname1 as aliasname2
from (
select
case
when condition1 then ....
when condition2 then ....
when condition3 then ....
end aliasname1
...
) x