2016-09-16 104 views
0

我需要幫助才能在SQL Server中創建視圖。我有這樣SQL服務器中的UNION和GROUP BY

SELECT MemberId, 
      Name, 
      SUM(TotalSales) as SalesAmount, 
      CreatedOn 
    FROM (
      (SELECT MAX(0) AS MemberId, 
        MAX('Others') AS Name, 
        SUM(TotalSales) AS SalesAmount, 
        CreatedOn 
       FROM {...} AS A 
       GROUP BY CreatedOn 
      ) 
      UNION 
      (SELECT MemberId, 
        Name, 
        SUM(TotalSales) AS SalesAmount, 
        CreatedOn 
       FROM {...} AS D 
       GROUP BY MemberId, Name, CreatedOn    
     ) 
    ) AS E 
    GROUP BY MemberId, Name, CreatedOn 

但是當我保存視圖,在Microsoft SQL Server管理給我這個錯誤的一些事情:

enter image description here

誰能幫幫我好嗎? 在此先感謝

+0

我認爲鑑於不允許分組 –

+0

你能直接把錯誤圖像在你的問題,或將錯誤文本你的問題? – hatchet

+0

你能顯示完整的查詢嗎? –

回答

0

我認爲你正在尋找的東西是這樣的:

SELECT MemberId, Name, SUM(SalesAmount) as SalesAmount, CreatedOn 
FROM ( 
    SELECT MAX(0) AS MemberId, 
      MAX('Others') AS Name, 
      SUM(TotalSales) AS SalesAmount, CreatedOn 
    FROM 
     {...} AS A 
    GROUP BY CreatedOn 

    UNION 

    SELECT MemberId, Name, 
      SUM(TotalSales) AS SalesAmount, CreatedOn 
    FROM 
     {...} AS D 
    GROUP BY MemberId, Name, CreatedOn    

) AS E 
GROUP BY MemberId, Name, CreatedOn 
+1

錯誤是什麼? –

+0

所以你說要簡單地從兩個選擇中取消括號括起來的括號? – hatchet

+0

@hatchet嗯,我不知道我在想什麼......除此之外,還有一個小小的更正:「SUM(TotalSales)'已經成爲'SUM(SalesAmount)'。刪除括號不應該有任何區別。 –