SELECT b.EMPLOYEE_CODE as me
FROM VB_TEST_EMPLOYEE b
orderby me;
也可以改成
SELECT b.EMPLOYEE_CODE as me
FROM VB_TEST_EMPLOYEE b
orderby1;
为什么哪?原因是oracle从数据文件中取出数据后,排序操作是不需必须使用原始列名的。
而where条件中的列名必须是from的对象中的列名,不能是alias的名子,因为取数时是要靠实际列名的数据来筛选的。
如果想用你给的alias列名,可以再嵌套一次:
select*from(SELECTCASEWHEN B.EMPLOYEE_CODE ='12'THEN
B.EMPLOYEE_NAME
ELSE
B.EMPLOYEE_NAME
ENDAS NAME
FROM VB_TEST_EMPLOYEE B)
WHERE NAME LIKE'd%';