Cita: Hola, las querys para crear la tabla no las tengo porque las creo a traves de phpmyadmin.
Eso es fácil: Las puedes obtener haciendo un backup, o bien usando:
En cuanto a la consulta, el problema basico es que la coma realiza en este caso lo que se denomina
producto cartesiano, lo que en realidad está haciendo es un cruce
entre los campos que llevan el mismo nombre... Y en estos casos hay más de uno en cada tabla (al menos ID y DESCRIPCION), por lo que está haciendo un verdadero enredo.
Para que ande bien no debes usar una coma o el JOIN simplemente (es el sinónimo) sino hacer un INNER JOIN bien estructurado.:
Código MySQL:
Ver original E.id,
E.descriptor,
E.iduser,
I.idimagen,
I.ruta,
I.posicion,
P.idparrafos,
P.posicion,
P.texto
INNER JOIN imagenes I
ON (E.id
= P.id
AND E.descriptor
= I.descriptor
) INNER JOIN parrafos P
ON (E.id
= P.id
AND E.descriptor
= P.descriptor
)
Esta sentencia, así, sólo podrá darte registros duplicados si el mismo par de claves se encuentra duplicado en alguna de las dos tablas dependientes. En caso contrario sólo puede devolver un sólo registro...
El tema central es que el WHERE es un pésimo modo de resolver las relaciones de las tablas, porque para ese momento
el producto cartesiano ya existe.