Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Colsuta no me trae todos los datos de las tablas

Estas en el tema de Colsuta no me trae todos los datos de las tablas en el foro de Mysql en Foros del Web. Hola estoy haciendo una consulta Select en donde ocupo la sentencia JOIN para traer datos de otras tablas que estan relacionadas con la tabla a ...
  #1 (permalink)  
Antiguo 22/12/2009, 08:31
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 16 años, 9 meses
Puntos: 0
Colsuta no me trae todos los datos de las tablas

Hola estoy haciendo una consulta Select en donde ocupo la sentencia JOIN para traer datos de otras tablas que estan relacionadas con la tabla a la cual estoy haciendo el select.
Sucede que tengo confeccionada mi consulta, pero esta me trae solo 6 filas y en mi tabla tengo 22 filas y nose que puedo tener mal en mi consulta.

Aqui mi consulta:

Código MySQL:
Ver original
  1.       eg.numero_guia_servicio,
  2.        eg.fecha_guia,
  3.           CONCAT(c.rut_cliente,"-",c.dv_cliente),
  4.           c.razon_social_cliente,
  5.       eg.guia_5081,
  6.           eg.id_contrato_cliente,
  7.           r.descripcion_relleno_sanitario,
  8.           t.numero_ticket_relleno,
  9.           egs.descripcion_estado_guia,
  10.           pg.nombre_recepcionista,
  11.       pg.rut_recepcionista,
  12.       pg.hora_inicio_servicio,
  13.       pg.hora_fin_servicio,
  14.       pg.valor_guia,
  15.           CONCAT(p.rut_personal,"-",p.dv_personal),
  16.           pg.observaciones,
  17.       cc.resumen_contrato_cliente
  18.           FROM encabezado_guia_servicio eg
  19.           JOIN relleno_sanitario r USING (id_relleno_sanitario)
  20.           JOIN cliente  c USING (rut_cliente)
  21.           JOIN tonelaje t USING (numero_guia_servicio)
  22.           JOIN estado_guia_servicio egs USING (id_estado_guia)
  23.           JOIN contrato_cliente cc USING (id_contrato_cliente)
  24.           JOIN pie_guia_servicio pg USING (numero_guia_servicio)
  25.           JOIN personal p USING (rut_personal)
  26.           ORDER BY (numero_guia_servicio)

Gracias!
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"

Última edición por Capote; 22/12/2009 a las 08:49
  #2 (permalink)  
Antiguo 22/12/2009, 09:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Colsuta no me trae todos los datos de las tablas

Cita:
Sucede que tengo confeccionada mi consulta, pero esta me trae solo 6 filas y en mi tabla tengo 22 filas y nose que puedo tener mal en mi consulta.
La consulta funciona bien y está básicamente bien planteada. Tu problema no es la sintaxis, sino los datos.
El JOIN tal y como lo planteas, es un INNER JOIN, que tiene como condición que se cumplan simultáneamente todos los USING...
Entonces la cosa es simple: Si uno de los USING no se cumple, entonces el resto no importa porque no devolverá el registro.

En resumen: Verifica los datos de las tablas, porque hay relaciones que no tienen datos que cumplan todas las condiciones requeridas. Tu problema es saber si quieres poner los registros, aunque no se cumplan todas. En ese caso hay que reestructurar la consulta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 22/12/2009, 16:49
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Colsuta no me trae todos los datos de las tablas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Tu problema es saber si quieres poner los registros, aunque no se cumplan todas. En ese caso hay que reestructurar la consulta.
Me podrias ayudar en esa reestructuración porfavor.

Gracias!
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"
  #4 (permalink)  
Antiguo 22/12/2009, 22:57
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Colsuta no me trae todos los datos de las tablas

Lo solucione corrijiendo los JOIN. Los deje de la siguiente manera:

Código MySQL:
Ver original
  1. LEFT JOIN relleno_sanitario r USING (id_relleno_sanitario)
  2.           LEFT JOIN cliente  c USING (rut_cliente)
  3.           LEFT JOIN tonelaje t USING (numero_guia_servicio)
  4.           LEFT JOIN estado_guia_servicio egs USING (id_estado_guia)
  5.           LEFT JOIN contrato_cliente cc USING (id_contrato_cliente)
  6.           LEFT JOIN pie_guia_servicio pg USING (numero_guia_servicio)

Gracias!
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"

Última edición por Capote; 22/12/2009 a las 23:10
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 22:43.