2017-07-03 70 views
0

這是我特定的SQL查詢(MS SQL)抽象爲具體的SQL查詢與WHERE子句

SELECT SUM(Sum2) AS Sum 
FROM (SELECT ROUND(bidsum,2) AS Sum2 
     FROM TableDocuments 
     WHERE MANeu = 'AS400' 
     and Art = '3' 
     and DokumentTyp = '3' 
     and offernumber = 'AB.1234.56' 
     ) src 

在我的應用程序運行此查詢來計算訂單(SUM)的量,它在列volumeoforders寫並在gui中展示。但是我有一個具體的offernumber。

現在我需要一個sql腳本,視圖或程序,它不僅爲'AB.1234.56'提供所有offernumbers。

這樣做的好方法是什麼?

+2

編輯你的問題,並提供樣本數據和預期的結果。 –

+0

我認爲在查詢中使用參數是一種適合您的方式。假設你正在使用.NET,這是存儲過程的解決方案,但你用與查詢相同的方式使用它:https://stackoverflow.com/questions/43953617/c-sharp-how-to-use-parameters-for- sql-server-stored-procedure –

回答

2

使用GROUP BY你可以得到這個信息對每個offernumber,如下圖所示:

SELECT src.offernumber, SUM(src.Sum2) AS Sum 
FROM (
     SELECT offernumber, ROUND(bidsum,2) AS Sum2 
     FROM TableDocuments 
     WHERE MANeu = 'AS400' and Art = '3' and DokumentTyp = '3' 
    ) src 
GROUP BY src.offernumber 
+0

簡單而恰當 – user1673665