SoloCodigo

Bases de Datos => MySQL => Mensaje iniciado por: ciber_lep en Viernes 10 de Noviembre de 2006, 23:33

Título: Problema Serio
Publicado por: ciber_lep en Viernes 10 de Noviembre de 2006, 23:33
Saludos a todos tengo una duda espero poder explicarme bien y ante todo gracias por la ayuda que me brinden
deseo hacer un query
que me por ejemplo tengo dos tablas.

a y b ambos con cambos claves asi a.ccliente y b.cliente

a tiene todos los clientes

y b tiene los movimiebntos de estos clientes

la duda es .  hay un query que pueda mostrarme los movimientos de los clientes incluso si estos no tienen
ejemplo
a.cliente  b.clietne b.movimiento
1               1             10
2               2               NULL
3               3              5

espeor me entirendan  gracias
Título: Re: Problema Serio
Publicado por: F_Tanori en Sábado 11 de Noviembre de 2006, 05:59
(http://graphics.hotmail.com/i.p.emcrook.gif)

quieres un producto carteciano?


<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color] a.cliente, b.clietne, b.movimiento FROM a,b <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->


????
Título: Re: Problema Serio
Publicado por: lencho en Sábado 11 de Noviembre de 2006, 15:41
Ahi te va otra solucion, utilizando OUTER JOIN
Código: Text
  1.  
  2. SELECT c.fname+' '+c.lname AS 'customer name', r.invoice_num, r.rental_date
  3. FROM customer AS c LEFT OUTER JOIN rental AS r
  4. ON c.cust_num = r.cust_num
  5. ORDER BY c.cust_num
  6.  
  7.  

BYTE.
Título: Re: Problema Serio
Publicado por: lencho en Sábado 11 de Noviembre de 2006, 15:46
Te explico lo del Outer Join, ( :D  :D  :D  :D  :D  :D , acabo de aprenderlo).

Se puede usar un outer join para ligar la tabla de cientes con la tabla de rentas, para poder ver una lista de todos los clientes aunque nunca hayan rentado una película.

Que es justamente lo que quieres.

BYTE.
Título: Re: Problema Serio
Publicado por: ciber_lep en Lunes 13 de Noviembre de 2006, 17:44
Gracias lencho , puedo agregar parametros de fechas para poder tener rangos?

gracias
Título: Re: Problema Serio
Publicado por: ciber_lep en Viernes 17 de Noviembre de 2006, 18:13
por lo visto si pude agregasr rangos de fechas de la siguiente forma

select ta.codccr,campo1,campo2,campo3,count(movimiento) from clientes
left outer join movimientos on clientes.clave = movimientos.clave_cliente
and movimiento.fecha='2002-11-10'
GROUP BY clientes.codigo_cliente

y me funciono gracias por la ayuda :P