能否引用前面出现过的自定义列名?NO!

来源:互联网 发布:windows文件夹图标 编辑:程序博客网 时间:2024/06/10 21:51
------问题--------------------
field1,field1是table1中的字段名 
这样的语句总报错:列名   'A '   无效 
select   field1+field2   as   A,A*2   as   B,B*3   as   C,C*4   from   table1 

我想引用前面出现过的计算列,能不能实现?如何实现? 
不希望这样实现 
select   field1+field2   ,(field1+field2)*2,((field1+field2)*2)*3   ...   from   table1 

------解决方案--------------------
沒辦法,SQL中計算列不能直接拿來用。 

或者你這麼寫 

Select *, B *3 As C From (Select A, A * 2 As B From (select field1+field2 as A from table1) A) B 
------解决方案--------------------
這個方法還不如你上面的那種寫法 
------解决方案--------------------
没有办法。 


用楼上说的子查询。 


------解决方案--------------------
不行的,MS SQL中計算列不能拿來直接用的。 
------解决方案--------------------
SQL Server现在还无法做到这么智能的解析你定义的别名。 
0 0