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

Consulta de varias tablas a una con id relacional

Estas en el tema de Consulta de varias tablas a una con id relacional en el foro de Mysql en Foros del Web. Buen día..!! Mi consulta es la siguiente: Tengo una tabla 'cliente' donde tengo el id del cliente Y tengo las siguientes tablas: cuenta_bancaria credito seguro ...
  #1 (permalink)  
Antiguo 04/01/2013, 00:14
 
Fecha de Ingreso: noviembre-2009
Mensajes: 110
Antigüedad: 14 años, 5 meses
Puntos: 1
Consulta de varias tablas a una con id relacional

Buen día..!! Mi consulta es la siguiente:


Tengo una tabla 'cliente' donde tengo el id del cliente

Y tengo las siguientes tablas:
  • cuenta_bancaria
  • credito
  • seguro

Estas tablas se relacionan al la tabla 'cliente' con el campo id_cliente, importante!! en ellas puede repetirse el cliente.

Imaginen me piden un reporte en una tabla donde les diga todas las cuentas bancarias, créditos y seguros que tiene determinado cliente.

Lo quiero hacer con una sola consulta, alguna idea para hacerlo?
  #2 (permalink)  
Antiguo 04/01/2013, 04:14
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta de varias tablas a una con id relacional

Usa LEFT JOIN en las uniones. He inventado los nombres de los campos, el de la tabla de clientes y he añadido la variable @numeroidcliente con la que buscarías el id_cliente. Prueba esta consulta haciendo los cambios necesarios
Código MySQL:
Ver original
  1. SELECT cl.nombrecliente, cl.apellidocliente, cb.cuenta, cr. credito, s.seguro
  2.     FROM clientes cl
  3.           LEFT JOIN cuenta_bancaria cb ON cl.id_cliente = cb.id_cliente
  4.           LEFT JOIN credito cr ON cl.id_cliente = cr.id_cliente
  5.           LEFT JOIN seguro s ON cl.id_cliente = s.id_cliente
  6.       WHERE cl.id_cliente = @numeroidcliente
Naturalmente, si no hay cuenta, crédito o seguro el valor devuelto será NULL. Puedes mostrar otra cosa en lugar de NULL usando la función IFNULL, por ej. un guión, "sin cuenta", etc. Sobre el uso de la función, mira aquí:
http://dev.mysql.com/doc/refman/5.0/...functions.html

Última edición por jurena; 04/01/2013 a las 04:22

Etiquetas: relacional, tabla, tablas, campos
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 11:56.