Ver Mensaje Individual
  #10 (permalink)  
Antiguo 07/11/2010, 08:01
claudio_hbl
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Ayuda con consulta multitablas

Hola gnzsoloyo.

Gracias a tu consejo, encontré información sobre Foreigh Key, y estuvo aprendiendo algo mas que no sabia, y pude crear mediante MysqlAdmin, claves primarias, indices y relaciones entre las tablas. Gracias.

Ahora a lo que me interesa, siguiendo con mi inconveniente de mi consulta, igual llego a un estado en que no me muestra los datos, voy a dejar la consulta como la tengo hasta ahora, he incorporado nuevos datos a la consulta, y voy dejar comentarios para que se entienda mejor, y donde me da los errores.

Código MySQL:
Ver original
  1. <?php
  2.         include('conexion.class.php');
  3.  
  4.         $sql=" SELECT
  5.        mov.rut_trabajador,                             /*0*/
  6.        mov.cod_haber,                                     /*1*/
  7.        mov.cod_descuento,                           /*2*/
  8.        mov.mes,                                                /*3*/
  9.        mov.anio,                                               /*4*/
  10.        tra.rut,                                                    /*5*/
  11.        tra.nombre,                                             /*6*/
  12.        tra.apellidos,                                          /*7*/
  13.        tra.rut_empresa,                                /*8*/
  14.        tra.cod_cargo,                                      /*9*/
  15.        tra.cod_afp,                                            /*10*/
  16.        tra.cod_salud,                                          /*11*/
  17.        emp.rut,                                                        /*12*/
  18.        emp.nombre,                                              /*13*/
  19.        car.codigo,                                                    /*14*/
  20.        car.nombre,                                                     /*15*/
  21.        car.sueldo_base,                                         /*16*/
  22.        afp.codigo,                                                     /*17*/
  23.        afp.nombre,                                                     /*18*/
  24.        sal.codigo,                                                     /*19*/
  25.        sal.nombre                                                      /*20*/
  26.  
  27.        FROM
  28.        ge_movimientos mov INNER JOIN
  29.        ge_trabajador tra ON mov.rut_trabajador = tra.rut INNER JOIN
  30.        ge_empresas emp ON emp.rut = tra.rut_empresa INNER JOIN
  31.        ge_cargos car, /* Si yo quito la coma y pongo un nuevo ON tra.cod_cargo = car.codigo ya no muestra nada */
  32.        ge_afps afp,
  33.        ge_salud sal,
  34.        ge_haber hab,
  35.        ge_descuentos des ";
  36.  
  37.         /* ahora sin el utimo ON me muestra todos los datos que necesito, pero muestra 48 veces los registros, en circunstancias que debiera mostrar solo 2. */
  38.         $res=mysql_query($sql,Conectar::con());
  39.  
  40.         While ($row=mysql_fetch_array($res))
  41.         {
  42.                 echo " Rut Trabajador : ", $row[0], " Nombre : ", $row[6]," ". $row[7];
  43.                 echo "<br />";
  44.                 echo " Rut Empresa : ", $row[8], " Empresa : ", $row[13];
  45.                 echo "<br />";
  46.                 echo " Cod. Cargo : ", $row[9], " Cargo : ", $row[15];
  47.                 echo " Sueldo Base : ", number_format($row[16],2,',','.');
  48.                 echo "<br />";
  49.                 echo " Cod. AFP : ", $row[17];
  50.                 echo " AFP : ", $row[18];
  51.                 echo " Cod. Salud : ", $row[19];
  52.                 echo " Salud : ", $row[20];
  53.                 echo "<br />";
  54.                 echo " Haber : ", $row[1];
  55.                 echo " Descuentos : ", $row[2];
  56.                 echo " FECHA  : ", $row[3],"-",$row[4];
  57.                 echo "<br />";
  58.                 echo "<hr />";
  59. }
  60.  
  61. ?>

Disculpa que te moleste, si no tienes ningún inconveniente, me puedes dar una mano por favor.

De ante mano Gracias.
__________________
Un Cordial Saludo
Claudio González Soto
Negocios Online
http;//www.servpcweb.com