【发布时间】:2021-06-29 10:12:05
【问题描述】:
我正在尝试对 Postgres 进行查询,但它不起作用。我想用 2 选择创建一个插入查询:
例子:
INSERT INTO table1 (id_1, id_2)
SELECT id from table_2 where code='01',
SELECT id from table_2 where code='02';
我没有找到合适的语法。
【问题讨论】:
标签: postgresql sql-insert
我正在尝试对 Postgres 进行查询,但它不起作用。我想用 2 选择创建一个插入查询:
例子:
INSERT INTO table1 (id_1, id_2)
SELECT id from table_2 where code='01',
SELECT id from table_2 where code='02';
我没有找到合适的语法。
【问题讨论】:
标签: postgresql sql-insert
我相信以下查询将适用于您的用例
INSERT INTO stats(totalProduct, totalCustomer, totalOrder)
VALUES(
(SELECT COUNT(*) FROM products),
(SELECT COUNT(*) FROM customers),
(SELECT COUNT(*) FROM orders)
);
您可以相应地更改查询
【讨论】:
您可以再添加一个SELECT 来实现这一点
INSERT INTO table_1 (id_1, id_2)
SELECT
(SELECT id FROM table_2 WHERE code = '01') AS Id_1,
(SELECT id FROM table_2 WHERE code = '02') AS Id_2;
或者你可以试试CASE expression:
INSERT INTO table1 (id_1, id_2)
SELECT MAX(CASE WHEN code = '01' THEN id ELSE 0 END) AS Id_1,
MAX(CASE WHEN code = '02' THEN id ELSE 0 END) AS Id_2
FROM table_2
【讨论】: