2015-04-29 143 views
2

我想要创建一个表,其中'Id'列与'Category'列组合并存储在'UserId'列中。这是一个例子。在第三列合并两列表

Id Category UserId 
1  STD   STD1 
2  NMM   NMM2 
3  COV   COV3 

我已经试过这样的事情:

Create table tblUsers 
(
    Id int identity primary key, 
    RegId as RIGHT('0000'+CAST([Id] as varchar(5)),5), 
    Category nvarchar(3), 
    UserId CONCAT(CategoryInitials,Id) 
) 

但这并不工作。那么,如何在创建这张桌子时工作?

+1

考虑使用[计算列(https://msdn.microsoft.com/en-us/library/ms188300.aspx)来代替。除非你不希望它在id和类别改变时得到更新... – xQbert

+0

id,类别不改变 – RelatedRhymes

回答

2

可能是这样的:

Create table tblUsers 
(
Id int identity primary key, 
Category nvarchar(3), 
UserId as (Category + cast(Id as varchar(10))) 
) 
+0

UserId as(Category + RIGHT('0000'+ CAST([Id] as varchar(5)) ,5))..为我工作。 – RelatedRhymes