两个在SQL Server

时间:2018-01-31 02:25:01

标签: sql-server select

我已经很长时间没有使用SQL了,并且需要在几个小时内完成这项工作,请我只需要在一个查询中执行此操作,但我真的不知所措,当我尝试只做一个。

我无法将其添加到第一个查询SUM(Venta.costAmount) AS Total_Region,似乎SUM收到了一些错误而且我不知道为什么,当然如果我删除SUM,作品。

但是我需要字段costAmount的TOTAL。请指教。

SELECT 
    Donde.region, Cuando.month, Venta.salesAmount, Que.brand
FROM 
    Donde 
INNER JOIN 
    Venta ON Donde.id = Venta.storeId       
INNER JOIN 
    Cuando ON Cuando.id = Venta.dateId 
INNER JOIN 
    Que ON Que.id= Venta.productId
WHERE 
    Que.brand ='colhogar'


SELECT  
    Donde.region, SUM(Venta.costAmount) AS Total_Region
FROM 
    Donde 
INNER JOIN 
    Venta ON Donde.id = Venta.storeId       
INNER JOIN 
    Cuando ON Cuando.id = Venta.dateId 
INNER JOIN 
    Que ON Que.id = Venta.productId
GROUP BY 
    ROLLUP (Donde.region)

1 个答案:

答案 0 :(得分:1)

试试这个答案。

SELECT Donde.region, Cuando.month, Venta.salesAmount, Que.brand
    ,D.Total_Region CostAmount
FROM Donde INNER JOIN Venta ON Donde.id = Venta.storeId     
     INNER JOIN Cuando ON Cuando.id = Venta.dateId 
      INNER JOIN Que ON Que.id= Venta.productId
    LEFT JOIN(
        SELECT  Donde.region, SUM(Venta.costAmount) AS Total_Region
        FROM Donde INNER JOIN Venta ON Donde.id = Venta.storeId     
             INNER JOIN Cuando ON Cuando.id = Venta.dateId 
              INNER JOIN Que ON Que.id= Venta.productId
        GROUP BY ROLLUP (Donde.region)
        )D ON D.region=Donde.region
WHERE Que.brand ='colhogar'

如果有任何问题,请在评论中告诉我。