INSERT INTO tbluser (usr_role_temporary, usr_created_at, usr_updated_at)
VALUES ('planning', NOW(), NOW())
FROM tbluserrole A
INNER JOIN tbluserrole B ON A.usrr_usr_id = B.usr_id
INNER JOIN tblrole C ON A.usr_role_id = C.role_id
WHERE role_planning = TRUE;
嗨,我想在SQL中实现一些功能。我想使用两个内部连接插入一个新的值,其中某个条件为真(role_planning)。大多数的例子都是说从其他表中复制数据,但我想在一列中引入新的值,其中有三个表满足一定的条件。Halp!
解决方案:
你似乎想 select
语句。
INSERT INTO tbluser (usr_role_temporary, usr_created_at, usr_updated_at)
SELECT 'planning', NOW(), NOW()
FROM tbluserrole A INNER JOIN
tbluserrole B
ON A.usrr_usr_id = B.usr_id INNER JOIN
tblrole C
ON A.usr_role_id = C.role_id
WHERE role_planning = TRUE;
这将产生重复的值,如果你想要唯一的条目,请使用 DISTINCT
:
SELECT DISTINCT 'planning', NOW(), NOW()