none
Reporte de Ventas

    Pregunta

  • Buenas, 

    Estoy desarrollando un sistema de facturación con Visual Basic en Visual Studio 2015 y SQL Server 2008 pero tengo una duda para realizar el "reporte o consulta" de ventas filtradas por fechas.

    Tengo una tabla llamada detalle de libro diario donde se van registrando todas las transacciones de  ingresos, costos, y gastos.

    Lo que deseo es por ejemplo:

    Filtrar por fecha los registros : Desde 01 - 01 - 2016 hasta - 31 - 01 - 2016

    Y que totalice todas las transacciones encontradas en el intervalo de fechas, dando un resultado como este:

    Ingresos fueron de 100,000

    Costos fueron de 30,000

    Gastos fueron de 20,000

    Y así poder realizar consultas de estado de resultados desde la fecha que desee. 

    Muchas gracias por todo... Tengan feliz día. 



    viernes, 30 de septiembre de 2016 19:55

Respuestas

  • Gabriel.Abreu.VisualBasic

    ¿MySql Server 2008? ¿Existe dicha versión? ¿No estás confundiendo con SQL Server 2008 | R2?

    Es una consulta bastante simple que dependerá de la estructura de tus tablas, algo como:

    SELECT    
        SUM(CASE WHEN d.tipo_transaccion = 'Ingresos' THEN d.Monto END) AS 'Ingresos',
        SUM(CASE WHEN d.tipo_transaccion = 'Costos' THEN d.Monto END) AS 'Costos',
        SUM(CASE WHEN d.tipo_transaccion = 'Gastos' THEN d.Monto END) AS 'Gastos'
    FROM
        detalle_libro_diario d
    WHERE
        d.fecha_registro BETWEEN '20160101' AND '20160131';


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 30 de septiembre de 2016 20:04

Todas las respuestas

  • Gabriel.Abreu.VisualBasic

    ¿MySql Server 2008? ¿Existe dicha versión? ¿No estás confundiendo con SQL Server 2008 | R2?

    Es una consulta bastante simple que dependerá de la estructura de tus tablas, algo como:

    SELECT    
        SUM(CASE WHEN d.tipo_transaccion = 'Ingresos' THEN d.Monto END) AS 'Ingresos',
        SUM(CASE WHEN d.tipo_transaccion = 'Costos' THEN d.Monto END) AS 'Costos',
        SUM(CASE WHEN d.tipo_transaccion = 'Gastos' THEN d.Monto END) AS 'Gastos'
    FROM
        detalle_libro_diario d
    WHERE
        d.fecha_registro BETWEEN '20160101' AND '20160131';


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 30 de septiembre de 2016 20:04
  • Muchas gracias por la información.

    Me fue de mucha ayuda, y si la versión es SQL Server 2008  R2.

    Tenia una confusión porque apenas estoy empezando a usar SQL como gestor de base de datos. 

    sábado, 1 de octubre de 2016 1:46