Alguien Sabe como puedo hacer esto???
Publicado por Liang (1 intervención) el 23/05/2008 03:06:57
Hola.
Bueno... me rendí y ahora no me queda mas que esperar a ke me respondan :)
resulta ke necesito hacer una consulta en SQL un tanto extraña o mas bien yo no se como podría hacerla...
lo dire con palabras y despues un poco de codigo...
quiero ke saque varios campos de una tabla llamada "negocio" luego ke me diga en un campo cuantas cuotas de ese negocio (el negocio ke se saco de la tabla negocio) estan facturadas.... todo eso segun el rut ke yo ingrese...
cada negocio, si es ke genera cuotas... escribe las cuotas de tal modo ke si una cuota es facturada, el campo CuoEstado sera 'S', de lo contrario será 'N'
veamos esto en codigo o como lo estoy haciendo yo y no resulta bien...
SELECT e.NegTipTxs AS 'Código TXS', b.TipTxsDes AS Descripción, e.NegFecRec AS Fecha, e.NegHorRec AS Hora, e.NegLocal AS [Local], e.NegBolNC AS Boleta, e.NegCuotas AS Cuotas, e.NegMonto AS Monto, e.NegValCuo AS 'Valor cuota', COUNT(c.CuoEstado) AS Fact, e.NegCaja AS Caja
FROM NEGOCIO e INNER JOIN
TIPOTXS1 b ON e.NegTipTxs = b.TipTxsCod INNER JOIN
CUOTAS2 c ON e.MacRut = c.MacRut AND e.NegFecRec = c.NegFecRec
WHERE (e.MacRut = '70') AND (b.TipTxsC_A = 'V ') AND (c.MacRut = '70') AND c.CuoEstado = 'S')
GROUP BY e.NegTipTxs, b.TipTxsDes, e.NegFecRec, e.NegHorRec, e.NegLocal, e.NegBolNC, e.NegCuotas, e.NegMonto, e.NegValCuo, c.CuoEstado, e.NegCaja
esa es mi consulta... si se fijan... en el SELECT, cuento con un "Count" cuantos c.cuoestado hay... y en la clausula WHERE... pregunto por los c.cuoestado = 'S'
el problema es ke... ke pasa si hay 1 solo negocio ke no genera cuotas? el c.cuoestado seria = null entonces como esta en un AND no devuelve nada... y deberia devolver 1 negocio con 0 cuotas pagadas y no se como hacerlo.
Gracias de ante mano,
Salu2. Liang =)
Bueno... me rendí y ahora no me queda mas que esperar a ke me respondan :)
resulta ke necesito hacer una consulta en SQL un tanto extraña o mas bien yo no se como podría hacerla...
lo dire con palabras y despues un poco de codigo...
quiero ke saque varios campos de una tabla llamada "negocio" luego ke me diga en un campo cuantas cuotas de ese negocio (el negocio ke se saco de la tabla negocio) estan facturadas.... todo eso segun el rut ke yo ingrese...
cada negocio, si es ke genera cuotas... escribe las cuotas de tal modo ke si una cuota es facturada, el campo CuoEstado sera 'S', de lo contrario será 'N'
veamos esto en codigo o como lo estoy haciendo yo y no resulta bien...
SELECT e.NegTipTxs AS 'Código TXS', b.TipTxsDes AS Descripción, e.NegFecRec AS Fecha, e.NegHorRec AS Hora, e.NegLocal AS [Local], e.NegBolNC AS Boleta, e.NegCuotas AS Cuotas, e.NegMonto AS Monto, e.NegValCuo AS 'Valor cuota', COUNT(c.CuoEstado) AS Fact, e.NegCaja AS Caja
FROM NEGOCIO e INNER JOIN
TIPOTXS1 b ON e.NegTipTxs = b.TipTxsCod INNER JOIN
CUOTAS2 c ON e.MacRut = c.MacRut AND e.NegFecRec = c.NegFecRec
WHERE (e.MacRut = '70') AND (b.TipTxsC_A = 'V ') AND (c.MacRut = '70') AND c.CuoEstado = 'S')
GROUP BY e.NegTipTxs, b.TipTxsDes, e.NegFecRec, e.NegHorRec, e.NegLocal, e.NegBolNC, e.NegCuotas, e.NegMonto, e.NegValCuo, c.CuoEstado, e.NegCaja
esa es mi consulta... si se fijan... en el SELECT, cuento con un "Count" cuantos c.cuoestado hay... y en la clausula WHERE... pregunto por los c.cuoestado = 'S'
el problema es ke... ke pasa si hay 1 solo negocio ke no genera cuotas? el c.cuoestado seria = null entonces como esta en un AND no devuelve nada... y deberia devolver 1 negocio con 0 cuotas pagadas y no se como hacerlo.
Gracias de ante mano,
Salu2. Liang =)
Valora esta pregunta


0