我有三个表Users,Roles和UserRoles。用户有一个名为Id的主键,Roles有一个名为Id的主键,UserRoles有两个对用户和角色的外键引用,称为UserId和RoleId。
我需要在UserRoles中插入UserId,RoleId对作为用户和角色表上的SQL查询的结果。
查询是这样的:
SELECT ID FROM Users WHERE Email = 'something@something.com';
和
SELECT ID From Roles WHERE Name = 'Admin';
我需要像这样使用它们:
INSERT INTO UserRoles (UserId, RoleId) VALUES (SELECT ID FROM Users WHERE Email = 'something@something.com', SELECT ID From Roles WHERE Name = 'Admin');
我该怎么做?
答案 0 :(得分:1)
这应该对你有用..
declare @userId int, @roleid int
select @userId = Id FROM Users
select @roleid = Id from Roles
insert into UserRoles (UserId, RoleId) value (@userId,@roleid)
请在选择查询中考虑您的居住条件。
答案 1 :(得分:1)
试试这个。
INSERT INTO UserRoles (UserId, RoleId)
SELECT a.ID, b.ID
FROM Users as a,Roles as b
WHERE a.Email='something@something.com'
AND b.Name='Admin';