postgre更新另一个表中的 SQL 行和一个静态值



我正在尝试使用另一个表中的值以及静态值在临时表中创建行。我能想到的最好的是使用多个查询的代码截图。我很好奇是否有一个SQL查询可以实现这一点。

CREATE TEMPORARY TABLE temp_users (user_id INT, location_id INT);
INSERT INTO temp_users (user_id) SELECT id FROM users WHERE user.role = 'employee';
UPDATE temp_users SET location_id = 11;

这应该有效

CREATE TEMP TABLE temp_users  AS
SELECT id user_id, 11 location_id  FROM users WHERE user.role = 'employee';

啊,您可以在单个插入中混合值,如下所示:

CREATE TEMPORARY TABLE temp_users (user_id INT, location_id INT);
INSERT INTO temp_users (user_id, location_id)
SELECT id, 11
FROM users
WHERE user.role = 'employee';

最新更新