none
Como puedo hacer una consulta con 2 condiciones de un mismo campo RRS feed

  • 質問

  • Hola, soy un novato en sql por eso quisiera saber como puedo hacer una consulta en sql server con 2 condiciones de un mismo campo. es decir 

    Listar el total facturado por cada categoría y por forma de pago.

    las tablas son las siguientes

    en la cual  las tablas que utilizo son  

    FG_Formas de Pago
    FG_Encabezado Factura
    FG_Detalle de Factura
    FG_Productos 
    FG_Categorias 

    trate de hacer una prueba pero me da error, no se si alguien me puede corregir que estoy haciendo mal.

    select sum(a.mont_fact * b.form_pago) AS Pago, b.nomb_form, (a.mont_fact * c.codi_cate) As Cate, c.nomb_cate
    from [FG_Formas de Pago] b
    inner join [FG_Encabezado Factura] a
    on a.form_pago=b.form_pago
    inner join [FG_Detalle de Factura] d
    on a.nume_fact=d.nume_fact
    inner join FG_Productos e
    on d.codi_prod=e.codi_prod
    inner join FG_Categorias c
    on e.codi_cate=c.codi_cate

    2019年9月22日 4:21

回答

  • Hola Liss_ndg:

    Si utilizas las funciones sum y tienes una columna sin agrupar, tienes que mencionarla en GROUP BY

    SELECT SUM(a.mont_fact * b.form_pago) AS Pago, 
           b.nomb_form, 
           SUM(a.mont_fact * c.codi_cate) AS Cate, 
           c.nomb_cate
    FROM [FG_Formas de Pago] b
         INNER JOIN [FG_Encabezado Factura] a ON a.form_pago = b.form_pago
         INNER JOIN [FG_Detalle de Factura] d ON a.nume_fact = d.nume_fact
         INNER JOIN FG_Productos e ON d.codi_prod = e.codi_prod
         INNER JOIN FG_Categorias c ON e.codi_cate = c.codi_cate
    GROUP BY B.nomb_form, 
             C.NOMB_CATE;

    Nota, si recibes un error del motor, pégalo tal cual te lo devuelve, porque esa información es mucho más valiosa, de lo que parece y mucho mejor que, "no se que estoy haciendo mal".

    Group by 

    https://javifer2.blogspot.com/search/label/group%20by

    • 回答としてマーク Liss_ndg 2019年9月22日 20:31
    2019年9月22日 4:41