
30/06/2011, 13:01
|
 | Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses Puntos: 2658 | |
Respuesta: Como hacer que el buscador no repita los registros Me paece que no estás entendiendo cómo funciona el SQL...
Todo eso debería desaparecer desde el mismo momento en que usas el UNION. Si usas un "SELECT *...", tus consulta devuelven siempre el registro completo. ¿No es así?
Bueno, con consultas donde se usa el UNION (siempre que el orden y cantidad de registros sean siempre los mismos en cada SELECT), lo que hace MySQL es comparar los contenidos de todos los campos, y si encuentra que hay duplicados, los descarta. Simplemente el SELECT no los devolverá, el que un registro provenga de la comparación de un campo y el otro de otra comparación distinta, es absolutamente irrelevante para el caso. De todos modos eliminará el duplicado.
Ahora bien, lo que hagas luego con la tabla que esa consulta te devuelve, es asunto de programación, no de MySQL. No hay forma desde el MySQL de verificar si tu mismo vas a poner dos veces el mismo registro cuando lo analices con PHP.
¿Se entiende? PHP no es MySQL.
Resumiendo: Con UNION, MySQL no te devolverá registros duplicados. Si luego los duplicas tu en pantalla, no es asunto de la base de datos. Es tuyo.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque)
Última edición por gnzsoloyo; 30/06/2011 a las 13:48 |