读不起,写错了
重写~~~~如下:我刚开始学习 SQL Server,以前都用Access
我在SQL Server中建了一个视图,输入了SQL 语句,如下SELECT  c_A,c_B,c_C,c_A+c_B AS c_D
FROM dbo.MyTableSQL语句得到4个列c_A、c_B、c_C、c_D
c_D是计算出来的用到了别名
我现在想建立第5列 c_E = c_A+c_B+c_C+c_D如果在Access里可以写
SELECT  c_A,c_B,c_C,c_A+c_B AS c_D,c_A+c_B+c_C+[c_D] As c_E
FROM dbo.MyTable
但我在SQL Server里不行,说不存在列 c_D请问要想用视图里计算出来的别名的列应该怎样写,万分感谢~~~~

解决方案 »

  1.   

    SELECT  c_A,c_B,c_C,c_A+c_B AS c_D,c_A+c_B+c_C+c_A+c_B as c_E
    FROM dbo.MyTable
      

  2.   

    SELECT  c_A,c_B,c_C,c_A+c_B AS c_D,c_A+c_B+c_C+c_A+c_B As c_E
    FROM dbo.MyTable
      

  3.   

    --SQL中的计算字段,不能直接在select 中引用,改为:
    SELECT  c_A,c_B,c_C,c_A+c_B AS c_D,c_A+c_B+c_C+c_A+c_B As c_E
    FROM dbo.MyTable--或嵌套一层,就可以引用了
    select *,c_A+c_B+c_C+[c_D] As c_E
    from(
    SELECT  c_A,c_B,c_C,c_A+c_B AS c_D
    FROM dbo.MyTable
    )a