Autor Tema: Unir estos resultados  (Leído 2557 veces)

0 Usuarios y 1 Visitante están viendo este tema.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Unir estos resultados
« en: Agosto 14, 2011, 08:59:32 pm »
Hola de nuevo amigos necesito mostrar todas las facturas crédito que tiene el un cliente, y de otra tabla sumar lo que ya pago por Nfactura. Tengo este query pero no se como mostrar en una sola consulta.

Este me trae todas las facturas que tiene.

Código: [Seleccionar]
SELECT fecha, nfactura, SUM(exenta+iva5+iva10) AS xTotalCredito
FROM ventas
WHERE tipoventa='CREDITO' AND estado='DEBE' AND cedula ='35623563'
GROUP BY nfactura


Este me suma lo que ya entrego.

Código: [Seleccionar]
SELECT SUM(entrego) AS xTotalEntregas
FROM credito_ventas
WHERE nfactura=1012


Como muestra la imagen es como quiero que quede.



Edit: Solo movi el formato.
« última modificación: Agosto 14, 2011, 09:33:07 pm por YAcosta »
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Unir estos resultados
« Respuesta #1 en: Agosto 14, 2011, 09:53:16 pm »
El segundo select esta medio feo para meterlo en el primer Select que tiene un sum, y luego tambien quieres mostrar su saldo.

Bueno, mientras aparezca una solución mas ortodoxa y para hacerlo identico a el resultado que quieres, yo me iría por retocar el RS haciendo un for next, una solución sucia pero una solución al final hasta que aparezca otra mejor.
Primero armo el Select con esta modificación:
Código: [Seleccionar]
sql =
SELECT fecha, nfactura, ' ' as xTotalEntrega, SUM(exenta+iva5+iva10) AS xTotalCredito, ' ' as Saldo
FROM ventas
WHERE tipoventa='CREDITO' AND estado='DEBE' AND cedula ='35623563'
GROUP BY nfactura

A nivel de VB6 viene esto:
Código: [Seleccionar]
Dim rs    As New ADODB.Recordset
Dim rs2   As New ADODB.Recordset
rs.Open sql, dB, adOpenDynamic, adLockPessimistic  '(importante abrirlo con OpenDynamic
For i = 1 To rs.RecordCount
    sql2= "SELECT SUM(entrego) AS xTotalEntregas  FROM credito_ventas WHERE nfactura= " & rs!nFactura
    rs2.Open sql2, dB, 1, 1
    TotEntr = iif(IsNull(rs2!xTotalEntregas), 0, rs2!xTotalEntregas)
    NewSaldo = rs!xTotalCredito - TotEntr
     rs.Fields("xTotalEntrega").Value = TotEntr
     rs.Fields("Saldo").Value = NewSaldo
     rs.Update
     rs.MoveNext
Next i

Me encuentras en YAcosta.com

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Unir estos resultados
« Respuesta #2 en: Agosto 15, 2011, 11:17:42 pm »
Tengo este sript de sql pero no se por que me suma 2 veces la parte de Ventas.

Código: [Seleccionar]
SELECT v.fecha, v.nfactura, SUM(v.exenta+v.iva5+v.iva10) AS xTotalCredito, SUM(c.entrego)
FROM credito_ventas c
INNER JOIN  ventas v ON v.nfactura=c.nfactura WHERE v.estado='DEBE'
GROUP BY c.nfactura

Como ven aca en la tabla Ventas solo tengo 2100



Y aca en la tabla credito_ventas solo hay un entrega de 1000



Este es el resultado que me trae.

CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo