select w2_month as x,w2_week as y,x-y as z from table
例子:这里我用了x y 2个别名分别表示2个字段(number类型) 现在我想用别名进行相减 这种好像不可以,请问有什么办法可以解决吗?
实际需求:W2实际入库周 是更加一个select 语句获取的
--case when(W2实际入库周 - W2计划入库周) > 0 then '10'
-- when(W2实际入库周- W2计划入库周) = 0 then '20'
-- when(W2实际入库周 -W2计划入库周) < 0 then '30'
--end as 'W2是否按期入库类型',
------解决方案--------------------
报什么错啊?
------解决方案--------------------
select 中-nvl(国,0) from ( select sal as 中 ,comm as 国 from emp) t;
测试了下,好像没问题哦
------解决方案--------------------
直接用原来列名不就得了,非要用别名?
------解决方案--------------------
select w2_month as x,w2_week as y,x-y as z from table
这个会被当做单独列来处理
不知道这样子和需求相符合吗?
hr@ORCL> create table t1 (id1 number,id2 number);
Table created.
hr@ORCL> insert into t1 values(1,2);
1 row created.
hr@ORCL> commit;
Commit complete.
hr@ORCL> with a as (select id1 x,id2 y,id1-id2 as z from t1)
2 select x,y,z from a;
X Y Z
---------- ---------- ----------
1 2 -1
------解决方案--------------------
在外面嵌套一层就可以了
------解决方案--------------------
哪个数据库也不支持这么写,同一层的你能直接用别名引用?
想最简单实现,就写成
select x,y,x-y z from
(select w2_month x ,w2_week y from table)
------解决方案--------------------
按照楼上说的做比较妥~!
------解决方案--------------------
支持12楼,用子查询