使用其他表值创建记录

时间:2017-06-16 13:00:42

标签: sql sql-server tsql

我有两个SQL表,用户和声明:

Users > Id (PK Identity), Name
Claims > Id (PK Identity), UserId (FK), Name, Value

我需要创建一个名称="计划"和价值=" XK"适用于所有用户。

我获得了每个用户的ID,因为它将是声明的UserId:

SELECT Id
From Users;

现在,对于每个Id,我需要插入一个声明:

Claim.UserId = User.Id
Claim.Name = "Plan"
Claim.Value = "XK"

2 个答案:

答案 0 :(得分:2)

insert into claims(userid, [name], [value])
select userid, 'plan', 'XK'
from users
left join claims
on users.id = claims.userid
where claims.userid is null

答案 1 :(得分:1)

试试这个:

Insert into Claims (userid, name, value)Select id, 'Plan','XK' from Users