2017-07-03 64 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