2013-11-01 22 views
0

我有表部(部門名,顏色)。我想創建一個獨特的隊伍,通過選擇deptname的前3個字符和顏色的前2個字符和相應的數字。我得到的SQL部分下降,但不知道下一步是什麼Oracle SQL:從現有表創建唯一的隊ID

select deptname, upper(substr(1,3), color upper(substr(1,2) 
from dept; 

這裏是我的dept表

DEPTNAME............COLOR 
SALES...............Orange 
ACCOUNTING..........Blue 

而且我的輸出應該是

SALOR1 
ACCBL2 
+0

你還沒有提到你的「相應數字」要求是什麼 - 順序?隨機?它應該始終如一嗎? – dispake

+0

對不起,我的意思是任意號碼 – BFF

回答

1

根據什麼你正在使用它,你可以使用rownum:

select upper(substr(deptname,1,3)) || upper(substr(color,1,2)) 
|| rownum from dept; 

無法保證運行此sql每次運行時都會生成相同的teamid。爲此,你必須添加一個數字的另一列。

+0

我明白了,謝謝! – BFF