Foros del Web » Programando para Internet » PHP »

Consultas a diferentes Tablas

Estas en el tema de Consultas a diferentes Tablas en el foro de PHP en Foros del Web. Buenas tardes tengan todos y cada uno de los foristas, mi nombre es Jorge y la consulta es la siguiente. Necesito sacar un reporte o ...
  #1 (permalink)  
Antiguo 24/05/2010, 12:26
 
Fecha de Ingreso: mayo-2010
Mensajes: 4
Antigüedad: 13 años, 11 meses
Puntos: 0
De acuerdo Consultas a diferentes Tablas

Buenas tardes tengan todos y cada uno de los foristas, mi nombre es Jorge y la consulta es la siguiente. Necesito sacar un reporte o consulta de una BD que tengo con 6 tablas diferentes en las cuales, la tabla principal que es la de empleados no existen datos duplicados, pero en la de equipos, monitores, teclados, telefonos, impr, y de mas si hay datos duplicados ya que un usuario tiene mas de un equipo, el reporte seria tipo exel, tengo este codigo que realice solo con 3 tablas y me funciona, solo que me duplica muchos datos, ejemplo si una persona tiene 2 monitores y 2 equipos me salen 4 datos 4 monitores y 4 equipos alguien sabe como puedo para que no me aparesco eso, les dejo el codigo.

$qry="SELECT datos_gen.empleado, datos_gen.nombre, datos_gen.depart, datos_gen.etelefono, equipo.*, monitores.* FROM datos_gen LEFT JOIN equipo ON datos_gen.empleado=equipo.empleado LEFT JOIN monitores ON datos_gen.empleado = monitores.empleado ORDER BY datos_gen.empleado";
$mysql = mysql_query ($qry,$vinculo);

if (mysql_num_rows($mysql) > 0 ){


echo "<table align=center border=2>";

echo "<td><font size=1><strong>No. EMPLEADO:</strong></font></td><td><font size=1><strong>NOMBRE:</strong></font></td><td><font size=1><strong>DEPARTAMENTO:</strong></font></td><td><font size=1><strong>EXTENCION:</strong></font></td><td><font size=1><strong>TIPO DE EQUIPO:</strong></font></td><td><font size=1><strong>MARCA DE EQUIPO:</strong></font></td><td><font size=1><strong>MODELO DE EQUIPO:</strong></font></td><td><font size=1><strong>N/S DEL EQUIPO:</strong></font></td><td><font size=1><strong>N/I DEL EQUIPO:</strong></font></td><td><font size=1><strong>No. DE FACTURA:</strong></font></td><td><font size=1><strong>PROPIO/ARRENDADO:</strong></font></td><td><font size=1><strong>TIPO DE MONITOR:</strong></font></td><td><font size=1><strong>MARCA DE MONITOR:</strong></font></td><td><font size=1><strong>N/S DEL MONITOR:</strong></font></td><td><font size=1><strong>N/I DEL MONITOR:</strong></font></td><td><font size=1><strong>No. DE FACTURA:</strong></font></td><td><font size=1><strong>PROPIO/ARRENDADO:</strong></font></td>";


while( $resultado = mysql_fetch_object($mysql) ){
echo "<tr>";
echo "<td><font size=1 face=Arial>".$resultado->empleado."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->nombre."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->depart."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->etelefono."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->tequipo."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->marcae."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->modeloe."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->nsequipo."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->niequipo."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->nfactura."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->pa."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->tipom."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->marcam."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->nsmonitor."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->nimonitor."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->nfactura."</font></td>";
echo "<td><font size=1 face=Arial>".$resultado->pa."</font></td>";
  #2 (permalink)  
Antiguo 24/05/2010, 13:36
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Consultas a diferentes Tablas

Investiga acerca de NATURAL JOIN en mysql.

Para darte un adelanto, si quiero unir una tabla persona con una tabla pais definidas a continuacion:
Código:
tabla persona
id_persona
nombre_persona
id_pais

tabla pais
id_pais
nombre_pais
Puedo hacer esto:
Código:
SQL con NATURAL JOIN:
SELECT * FROM persona NATURAL JOIN pais
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 24/05/2010, 15:14
 
Fecha de Ingreso: mayo-2010
Mensajes: 4
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Consultas a diferentes Tablas

Hola Marvin fijate que prove con lo que tu me dices y nada sigue iagual alguien mas con alguna otra posible solucion

Etiquetas: diferentes, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:36.