Sí, puedes hacer esto usando insert . . . select
. Esto parece coincidir con la intención de su consulta original:
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;
Tenga en cuenta que esto insertará una fila por cada fila en broadcast_table
. Es posible que desee un where
cláusula o limit
para obtener solo filas particulares.