SQLSERVER,AS别名如何使用计算

m0_38033608 2018-10-06 03:50:32

select 1+1 as a, a+1 from tableA

上面1+1我使用了别名a,后面的a+1的计算如何使用a的值,如何写SQL语句?
...全文
801 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
windyNie 2020-09-29
  • 打赏
  • 举报
回复
以上问题我是在Access 用过后才发现的access是可以用新建立的列 参与下一列的计算但是SQLsever中是不可以的。翻遍了帖子没有理想的解决方案。
吉普赛的歌 2018-10-06
  • 打赏
  • 举报
回复
你这个想法类似于计算列。
但计算列不允许引用其它计算列。

所以你要么用上面大神的办法(再套一层),
要么直接写出来算了:

select 1+1 as a, 1+1+1 as [a+1] from tableA


卖水果的net 2018-10-06
  • 打赏
  • 举报
回复
在同一个 select 后,不能使用其他列的别名进行运算。 可以多写一层

with m as (
select 1 + 1 as a from Mytable1
)
select a + 1 from m 

-- 或

select  a + 1 
from (
select 1 + 1 a from mytable1) x

  • 打赏
  • 举报
回复
select a,a+1 a1 from (select 1+1 as a from tableA)t

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧