Nếu tôi hiểu chính xác, tất cả những gì bạn cần là CROSS JOIN
. Hãy thử
INSERT INTO bullets (product_code, bullet_text)
SELECT m.product_code, b.bullet_text
FROM bullets b CROSS JOIN master m
WHERE b.product_code = 10001
AND m.product_group = 3
AND m.product_code <> 10001;
Đây là SQLFiddle bản trình diễn.
Bây giờ bạn có thể kết thúc nó thành một thủ tục được lưu trữ nếu bạn đã truy cập
CREATE PROCEDURE copy_bullets_test (IN product_code_from INT, IN product_group_to INT)
INSERT INTO bullets (product_code, bullet_text)
SELECT m.product_code, b.bullet_text
FROM bullets b CROSS JOIN master m
WHERE b.product_code = product_code_from
AND m.product_group = product_group_to
AND m.product_code <> product_code_from;
Và sử dụng nó
CALL copy_bullets_test(10001, 3);
Đây là SQLFiddle demo cho trường hợp đó.