我有一个用户表,其中包含一个分配给项目角色的用户列表,我想将用户角色复制给新用户。
示例
John是分配给具有不同角色级别的多个项目的用户,我想通过创建新用户henry来复制john个人资料。
sqlfiddle我的桌子的例子。
因此最终结果应为
EMP_ID USERNAME Role PROJECT
--------------------------------------------
5 Henry Admin Test1
5 Henry superuser Test2
答案 0 :(得分:2)
假设您在示例中为John分配了不同的Emp_ID作为错误,我会按如下方式编写;
INSERT INTO users
SELECT 5, 'Henry', Role, Project
FROM Users
WHERE Emp_ID = 1 -- John's Emp_ID
- 如果不是错误
WHERE Emp_ID IN (1,4)
答案 1 :(得分:1)
您可以通过以下两种方式获得结果:
`
CREATE TABLE #users
([Emp_ID] int, [username] varchar(255), [Role] varchar(255)
, [Project] varchar(255))
;
INSERT INTO #users
([Emp_ID], [username], [Role],[Project])
VALUES
(1,'John','Admin','Test1'),
(2,'Tim','user','Test3'),
(3,'Jack','user','Test4'),
(4,'John','superuser','Test2');
Select * from #users
INSERT INTO #users
([Emp_ID], [username], [Role],[Project])
Select 5,'Henry', Role, Project
from #Users where Emp_ID in (1,4)
or
Select 5,'Henry', Role, Project
from #Users where Username='John'
`