Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/03/2013, 14:38
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: consulta evitando registros repetidos

Hola pmike:

Tal como nos dice ComprasDesdeCasa, creo que nos tienes qué aclarar es ¿qué es lo que entiendes tú como un registro DUPLICADO?

Cita:
Nota --> He probado con 'DISTINCT' pero no funciona.
La cláusula DISTINCT funciona, pero creo que sabes del todo para qué sirve, ojo con eso. Para el motor de BD un registro está duplicado, si y solo sí TODOS SUS CAMPOS SON EXACTAMENTE IGUALES. Observa este ejemplo:

Código MySQL:
Ver original
  1. mysql> SELECT id, descripcion FROM tabla1;
  2. +------+-------------+
  3. | id   | descripcion |
  4. +------+-------------+
  5. |    1 | uno         |
  6. |    2 | dos         |
  7. |    3 | tres        |
  8. |    1 | uno         |
  9. |    2 | otro dos    |
  10. |   33 | tres        |
  11. +------+-------------+
  12. 6 rows in set (0.03 sec)
  13.  
  14. mysql> SELECT distinct id, descripcion FROM tabla1;
  15. +------+-------------+
  16. | id   | descripcion |
  17. +------+-------------+
  18. |    1 | uno         |
  19. |    2 | dos         |
  20. |    3 | tres        |
  21. |    2 | otro dos    |
  22. |   33 | tres        |
  23. +------+-------------+
  24. 5 rows in set (0.04 sec)

El único registro que está duplicado es el (id=1, descripcion = 'uno') todos los demás son UNICOS. Aunque existen dos registros con
id = 2, tienen distinta descripción, y aunque existen dos registros con descripcion = 'tres', estos tienen distinto ID.

Postea los datos de cada una de tus tablas y qué es lo que esperas obtener como salida.

Y una recomendación que hemos hecho mucho en el foro: evita hacer las uniones de tus tablas en el FROM-WHERE, utiliza siempre JOIN:

Código:
En lugar de hacer esto

FROM tabla1, tabla2 WHERE tabla1.campo = tabla2.campo

Haz esto

FROM tabla1 INNER JOIN tabla2 ON tabla1.campo = tabla2.campo
Saludos
Leo.