Sono andato a vedere cos'è la union (ammetto che non la conoscevo), da quel che ho capito mi permette una doppia query, scarta i risultati doppi in automatico, ma non è quello che cercavo, perchè non devo fare due operazioni distinte, ma in pratica probabilmente dovrei usare una subquery per questo problema.
Forse tipo questa, ma è sbagliata.......
codice:
  mysql_query("SELECT * FROM tabella2 WHERE valore = '$valore1'(INSERT INTO tabella1 (nome) SELECT nome FROM tabella2 WHERE tabella2.valore = tabella2.'$valore1') )");