Ano, můžete to udělat pomocí insert . . . select
. Zdá se, že to odpovídá záměru vašeho původního dotazu:
INSERT INTO notification_table (receiver_id, type, content, time)
SELECT (SELECT id FROM user_table WHERE username = 'test' LIMIT 1),
'system_broadcast',
content, time
FROM broadcast_table;
Všimněte si, že to vloží jeden řádek pro každý řádek v broadcast_table
. Možná budete chtít where
klauzule nebo limit
získat pouze určité řádky.