none
CONSULTA SQL RRS feed

  • Pregunta

  • Buenos dias,

    alguien me podria ayudar a juntar esta consulta en una?

    SELECT z.Nombre, SUM(Total) 'Debe'
    from ventas v 
    INNER JOIN clientes c ON c.idCliente = v.idCliente 
    INNER JOIN zonas z ON z.idZona = c.idZona
    GROUP BY z.Nombre


    SELECT z.Nombre, SUM(Monto) 'Haber'
    from ventas_pagos v 
    INNER JOIN clientes c ON c.idCliente = v.idCliente 
    INNER JOIN zonas z ON z.idZona = c.idZona
    GROUP BY z.Nombre

    Yo quiero que por zona me muestre columna debe, haber y a su vez la resta de las mismas que seria el saldo.

    Saludos

    lunes, 6 de noviembre de 2017 14:03

Respuestas

  • Puedes definir ambas consultas como tablas derivadas y combinarlas a partir de la columna 'Nombre', por ejemplo:

    SELECT
        d.Nombre, d.Debe, h.Haber, d.Debe - h.Haber AS Saldo
    FROM
        (
    	   SELECT z.Nombre, SUM(Total) AS [Debe]
    	   FROM 
    		  ventas v
    		  INNER JOIN clientes c ON c.idCliente = v.idCliente
    		  INNER JOIN zonas z ON z.idZona = c.idZona
    	   GROUP BY z.Nombre
        ) d 
        INNER JOIN
        (
    	   SELECT z.Nombre, SUM(Monto) AS [Haber]
    	   FROM 
    		  ventas_pagos v
    		  INNER JOIN clientes c ON c.idCliente = v.idCliente
    		  INNER JOIN zonas z ON z.idZona = c.idZona
    	   GROUP BY z.Nombre
        ) h ON d.Nombre = h.Nombre;
    GO

    • Propuesto como respuesta Jordi Masoliver lunes, 6 de noviembre de 2017 14:57
    • Marcado como respuesta Mauricio Hamak lunes, 6 de noviembre de 2017 15:10
    lunes, 6 de noviembre de 2017 14:47