Sì, puoi farlo usando insert . . . select
. Questo sembra corrispondere all'intenzione della tua query originale:
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;
Nota che questo inserirà una riga per ogni riga in broadcast_table
. Potresti volere un where
clausola o limit
per ottenere solo righe particolari.