Avrei bisogno di capire come fare una query come questa ma che funzioni :

INSERT INTO tabella1 (val1, val2, val3)
VALUES ('pippo', 'pluto', (SELECT val4
FROM tabella2
WHERE val4 = 1))

in sostanza una INSERT dove un valore è preso da una subquery SELECT.
Il problema è che la Select ritorna più di un valore e mysql mi dà errore "Subquery returns more than 1 row".
L'alternativa sarebbe gestire tutto con un array da php e fare la insert per ogni valore dell'array ma preferirei fare tutto con una singola query...
Grazie.