Hola de nuevo:
Una de las características de la UNION, es que si no le pones el atributo ALL (UNION ALL)
TE ELIMINA LOS REGISTROS DUPLICADOS, es decir, según yo no tendrías que hacer nada extra, sólo la unión normal... Checa este script:
Código MySQL:
Ver original+-----------------+
| autor |
+-----------------+
| nombreautoruno |
| nombreautordos |
| nombreautortres |
+-----------------+
+----------------+
| autor |
+----------------+
| nombreautoruno |
| nombreautordos |
+----------------+
+-----------------+
| autor |
+-----------------+
| nombreautordos |
| nombreautortres |
+-----------------+
+-----------------+
| autor |
+-----------------+
| nombreautoruno |
| nombreautordos |
| nombreautortres |
+-----------------+
Observa que la unión me regresa
SÓLO TRES AUTORES ya que los registros duplicados no aparecen. Si utilizas la cláusula ALL entonces sí te aparecen registros duplicados.
Código MySQL:
Ver original+-----------------+
| autor |
+-----------------+
| nombreautoruno |
| nombreautordos |
| nombreautortres |
| nombreautoruno |
| nombreautordos |
| nombreautordos |
| nombreautortres |
+-----------------+
Si entendí mal el modelo de tus datos, por favor trata de aclarar mejor cómo están tus tablas y tus datos. Haz la prueba y nos comentas.
Saludos
Leo.