Ver Mensaje Individual
  #6 (permalink)  
Antiguo 17/09/2009, 05:52
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ORDER BY me duplica el resultado

Primero: SI no los vas a mostrar, ¿para qué los ordenas? Esa consulta sólo tiene sentido si vas a mostrar algo. De lo contrario no hace nada a la tabla...
Segundo:
Código sql:
Ver original
  1. SELECT DISTINCT *
  2. FROM ex_awsompxgimagecaptions , ex_posts
  3. WHERE
  4.     post_type="post" AND
  5.     post_status="publish"
  6. ORDER BY post_date DESC;
Esto debería mostrar todos los registros distintos, a menos que UNO de los campos tenga valores diferentes. En ese caso el registro parece ser igual, a menos que verifiques campo a campo.
En cualquier caso, la sentencia tal y como la estás poniendo genera un producto cartesiano haciendo un JOIN con los campos del mismo nombre como pivote del mismo. Solamente se agrupan aquellos que llevan el mismo nombre de campo y el valor de este igual entre ambas tablas. De no ser así, es realmente un producto cartesiano y por tanto el resultado es igual a combinar cada registro de la primera tabla con cada registro de la segunda tabla, lo que si tuvieras 10 registros en cada una hará que te devuelva una tabla de 100 registros (10 x 10).

¿Se entiende la idea?

Es posible que eso sea lo que está pasando.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)