Oracle SQL:从现有表创建唯一的teamid

时间:2013-11-01 21:14:24

标签: sql oracle

我有桌子部门(deptname,color)。我想通过选择deptname的前3个字符和颜色的前2个字符以及相应的数字来创建一个独特的teamid。我得到了SQL部分,但不知道下一步是什么

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

这是我的部门表

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

我的输出应该是

SALOR1
ACCBL2

1 个答案:

答案 0 :(得分:1)

根据您使用的内容,您可以使用rownum:

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

无法保证每次运行此sql时都会生成相同的teamid。为此,您必须添加另一个带有数字的列。