Ver Mensaje Individual
  #12 (permalink)  
Antiguo 15/09/2011, 20:02
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: 17 años
Puntos: 2658
Respuesta: mostrar las dos ciudades (dir empresa y fiscal) de una empresa

Llamas cuatro veces a la tabla "usuarios", pero sólo existen dos campos con que relacionarla. Dos de las llamadas son innecesarias.
Además, ten en cuenta que el uso de los INNEER JOIN obliga a que todos las condiciones se cumplan si o si. Si una de las tablas vinculadas por INNER JOIN no se cumple, no devolverá ningún resultado.
Prueba así:
Código MySQL:
Ver original
  1.     EM.em_id,
  2.     Em.em_foto,
  3.     EM.em_foliosol,
  4.     EM.em_nombrecom,
  5.     EM.em_razonsocial,
  6.     EM.us_id2,
  7.     US.us_nombre Aplicante,
  8.     US1.us_nombre Solicitante,
  9.     EM.em_dir1,
  10.     EM.em_tel1,
  11.     EM.em_tel2,
  12.     CI1.ci_nombre Ciudad,
  13.     EM.em_cp,
  14.     SC.sc_descr,
  15.     EM.em_rfc,
  16.     EM.em_dirf,
  17.     CI2.ci_nombre 'Ciudad Fiscal',
  18.     EM.em_contacto,
  19.     EM.em_email,
  20.     EM.em_webpage,
  21.     EM.em_afiliacion,
  22.     EM.em_vigencia,
  23.     EM.em_costo,
  24.     Em.em_comentarios,
  25.     IF(EM.em_propdiseno=TRUE,'Si','No') em_propdiseno,
  26.     EM.em_formapago,
  27.     EM.em_fechaafil,
  28.     SB.sb_nombre
  29.  FROM
  30.     empresas EM
  31.     INNER JOIN ciudades CI1 ON EM.ci_id = CI1.ci_id
  32.     LEFT JOIN ciudades CI2 ON EM.ci_id = CI2.ci_idf
  33.     INNER JOIN subcategorias SB ON EM.sb_id = SB.sb_id
  34.     INNER JOIN estatus_clientes SC ON EM.sc_id = SC.sc_id
  35.     INNER JOIN usuarios US ON EM.us_id = US.us_id
  36.     INNER JOIN usuarios US1 ON EM.us_id = US1.us_id2 AND US.us_id=US1.us_id2
  37.     US.us_id=8;
Si esto falla, ve paulatinamente, desde la relación más simple, y agregale de a una tabla por vez, para ver con cual ya no devuelve datos.
Empieza entonces por acá:
Código MySQL:
Ver original
  1.     EM.em_id,
  2.     Em.em_foto,
  3.     EM.em_foliosol,
  4.     EM.em_nombrecom,
  5.     EM.em_razonsocial,
  6.     EM.us_id2,
  7.     US.us_nombre Aplicante,
  8.     EM.em_dir1,
  9.     EM.em_tel1,
  10.     EM.em_tel2,
  11.     EM.em_cp,
  12.     EM.em_rfc,
  13.     EM.em_dirf,
  14.     EM.em_contacto,
  15.     EM.em_email,
  16.     EM.em_webpage,
  17.     EM.em_afiliacion,
  18.     EM.em_vigencia,
  19.     EM.em_costo,
  20.     Em.em_comentarios,
  21.     IF(EM.em_propdiseno=TRUE,'Si','No') em_propdiseno,
  22.     EM.em_formapago,
  23.     EM.em_fechaafil
  24.  FROM
  25.     empresas EM
  26.     INNER JOIN usuarios US ON EM.us_id = US.us_id
  27.     US.us_id=8;
y ve agregando una tabla por vez. No intentes sacar todo de una sola vez.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)