Este tipo de consultas no las logras usando la coma (,) en el FROM sino sólo con LEFT | INNER | RIGHT JOIN, que por otro lado es la mejor forma de jacer JOINs:
Recalco esto porque si bien es cierto que poner las relaciones enel WHERE resulta funcional (todos los manuales lo usan), el WHERE no puede ser optimizado en el parseo y el FROM si, por lo que siempre serán más eficientes las consultas con JOIN y no con comas.
Código MySQL:
Ver original e.idEntidad,
e.entidad,
e.DesBreve,
e.detalles,
e.direccion,
e.telefono,
e.movil,
e.email,
e.webSite,
e.logo,
c.ciudad,
p.pais,
p.Codigo,
s.subCategoria,
z.categoria,
i.nombre,
i.tipo,
v.direccionV,
v.idEntidad
LEFT JOIN subcategoria s
ON e.idSubCat
= s.idSubCategoria
LEFT JOIN categoria z
ON e.idCategoria
= z.idCategoria
LEFT JOIN devuelve registros basándose en la tabla a la izquierda (left) del JOIN, haya o no coincidencias con la tabla derecha. Por esta misma razón
la posición de las tablas invocadas en el JOIN y la relación en su ON respectivo son importantes en este caso. Aquí no se cumple lo de
"el orden de los factores no altera el producto", en este caso si lo altera.