2012-08-01 51 views
0

的Oracle SQL Developer 3.0.03的Oracle SQL - SELECT *,情況

我試圖運行SELECT *則必須在與指定的結果會產生一個新的列結束的另一列:

select *, 
    case Column_1 when 'Employee' then 'Employee/Worker' 
    when 'Worker' then 'Employee/Worker' else Column_1 
    end as "TEST" 
    from DB_TABLE 

結果應該是:

Column 1 Column 2 ......Test 
Employee Name    Employee/Worker 
Worker  Name    Employee/Worker 
Temp  Name    Temp 

我有它在MS SQL工作,但在Oracle無法得到這個工作。有任何想法嗎?當您選擇

enter image description here

+0

*從這個會的工作,但如果你想從表中選擇*,COL1等。你需要用表名或表別名來限定*,這是oracle在這裏工作的方式,不管你使用的工具如sql開發者或sqlplus或蟾蜍等 – vijayaragavan 2012-08-04 17:53:27

回答

1

試試這個給別名表名

select dt.*, 
case when dt.Column_1 = 'Employee' then 'Employee/Worker' 
    when dt.Column_1 = 'Worker' then 'Employee/Worker'  
    else dt.Column_1 end TEST 
from DB_TABLE dt 
+1

這不是別名,而是「合格的「'dt。*'。應該沒有和別名'dt_table。*'以及。 – 2012-08-02 09:17:55