Sau đây là giải thích hợp lý về những gì bạn muốn làm:
with i as (
insert into products (title, description, price)
values ('Dope product 1', 'Buy diz', 9.99),
('Dope product 2', 'Buy diz', 8.99),
('Dope product 3', 'Buy diz', 7.99)
returning *
)
insert into product_metadata (product_id, sales_volume, date)
select i.product_id, v.sales_volume, v.date
from (values ('Dope product 1', 80, '2017-03-21'),
('Dope product 2', 50, '2017-03-21'),
('Dope product 3', 70, '2017-03-21')
) v(title, sales_volume, date) join
i
on i.title = v.title;
Câu trả lời cơ bản là "sử dụng returning *
và sử dụng join
để nhận các giá trị ". Tôi cần thay đổi các tiêu đề để chúng là duy nhất.