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.