Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/05/2011, 09:01
kryzpo23
 
Fecha de Ingreso: julio-2010
Ubicación: Chillan, Chile
Mensajes: 60
Antigüedad: 14 años, 3 meses
Puntos: 1
De acuerdo Respuesta: obtener fila con posibles valores nulos

Cita:
Iniciado por quimfv Ver Mensaje
Manual

[URL="http://dev.mysql.com/doc/refman/5.0/es/join.html"]13.2.7.1. Sintaxis de JOIN[/URL]


Código MySQL:
Ver original
  1. SELECT nombres,
  2.              apellidos,
  3.              cuenta.numero_cuenta,
  4.              cuenta.direccion,
  5.              cuenta.subsidio,
  6.              tarifas.subsidio,
  7.              valor,
  8.              consumo AS consumos,
  9.              deuda AS deuda_anterior,
  10.              otras_deudas.monto AS otras_deudas
  11. FROM `socio` LEFT JOIN `cuenta`
  12.                            ON socio.numero_socio=cuenta.numero_socio
  13.                        LEFT JOIN`consumo`
  14.                            ON cuenta.numero_cuenta=consumo.id_cuenta
  15.                        LEFT JOIN `tarifas`
  16.                            ON consumo.consumo=tarifas.metros
  17.                        LEFT JOIN `deudas`
  18.                            ON cuenta.numero_cuenta=deudas.id_cuenta
  19.                        LEFT JOIN `otras_deudas`
  20.                            ON cuenta.numero_cuenta=otras_deudas.id_cuenta;

Lee el maual y donde puedas usar INNER JOIN no uses los otros...

IFNULL(expr1,expr2)


[URL="http://dev.mysql.com/doc/refman/5.0/es/control-flow-functions.html"]
12.2. Funciones de control de flujo[/URL]


muchas gracias quimfv , hice uso del INNER JOIN como me dijiste y me filtro mejor aun,
era precisamente lo que buscaba, ademas agregue algunas clausuras en WHERE para filtrar mejor mi consulta.
el resultado es este por si alguien le sirve.
Código SQL:
Ver original
  1. SELECT nombres,
  2.              apellidos,
  3.              cuenta.numero_cuenta,
  4.              cuenta.direccion,
  5.              cuenta.subsidio,
  6.              tarifas.subsidio,
  7.              valor,
  8.              consumo AS consumos,
  9.              consumo.mes,  
  10.              deuda AS deuda_anterior,
  11.              otras_deudas.monto AS otras_deudas,
  12.              motivo
  13. FROM `socio` INNER JOIN `cuenta`
  14.                            ON socio.numero_socio=cuenta.numero_socio
  15.                        INNER JOIN`consumo`
  16.                            ON cuenta.numero_cuenta=consumo.id_cuenta
  17.                        INNER JOIN `tarifas`
  18.                            ON consumo.consumo=tarifas.metros
  19.                        INNER JOIN `deudas`
  20.                            ON cuenta.numero_cuenta=deudas.id_cuenta
  21.                        LEFT JOIN `otras_deudas`
  22.                            ON cuenta.numero_cuenta=otras_deudas.id_cuenta
  23. WHERE consumo.mes='6'
seguire estudiando pues me falta bastante que aprender de BD, muchas gracias.