2017-06-16 82 views
0

我有兩個SQL表,用戶和索賠:與其他表創建記錄的值

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

我需要建立對所有用戶名=「規劃綱要」和值=「XK」索賠。

我得到了每個用戶的ID,因爲這將是一個要求的用戶名:

SELECT Id 
From Users; 

現在每個ID我需要插入一個索賠:

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

你被卡住。對於有5k分的人來說,這看起來似乎有點低級問題?還有別的 - 數十億記錄,鎖定? –

回答

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

試試這個:

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