在 PostgreSQL 中,我可以使用SELECT INTOSELECT
将结果保存到另一个表:
SELECT id INTO new_record_ids FROM new_table
EXCEPT
SELECT id FROM old_table
ORDER BY id;
Run Code Online (Sandbox Code Playgroud)
然而,这不适用于连接:
-- doesn't work:
SELECT * INTO new_records FROM new_table
JOIN new_record_ids ON new_record_ids.id = new_table.id
ORDER BY new_table.id;
Run Code Online (Sandbox Code Playgroud)
连接本身是正确的:
-- works:
SELECT * FROM new_table
JOIN new_record_ids ON new_record_ids.id = new_table.id
ORDER BY new_table.id;
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何将联合表保存到另一个表?
这是我所拥有的:
\n\n=# SELECT * FROM users;\n id | name \n----+---------------\n 1 | Paul Gilbert\n 2 | Bob Dylan\n 3 | Cliff Downing\n\n=# SELECT * FROM regs;\n reg_id | user_id \n--------+---------\n 1 | 1\n 11 | 1\n 111 | 1\n 2 | 2\n 22 | 2\n 3 | 3\n
Run Code Online (Sandbox Code Playgroud)\n\n这是我想要获得的:
\n\n=# SELECT * FROM joined;\n id | name | regs\n----+---------------+-------------------\n 1 | Paul Gilbert | {1, 11, 111}\n 2 | Bob Dylan | {2, 22}\n 3 | Cliff …
Run Code Online (Sandbox Code Playgroud)