2009-08-25 5 views
0

ich diese einfache Tabelle Orders habenGruppe von Abfrage in SQL Server 2008 Hilfe

Orders 
    ------------- 
    OrderID 
    OrderDesc 
    OrderDate 
    OrderStatus 
    OrderAmount 

in SQL Server in einer Abfrage, wie ich für jede Orderdate bekommt: - TOTALNUMBER von Aufträgen mit Orderstatus = 1, - TOTALNUMBER von Aufträgen mit Orderstatus = 2

Dank

+0

Ihre Frage ist nicht klar formuliert. Vielleicht möchten Sie das beheben, bevor es modifiziert wird. – Cynthia

Antwort

1
SELECT OrderDate, 
Sum(Case When OrderStatus = 1 Then 1 Else 0 End) AS TotalOrderStatusOne, 
Sum(Case When OrderStatus = 2 Then 1 Else 0 End) AS TotalOrderStatusTwo 
FRMO Orders 
GROUP BY OrderDate 

wird dir geben, was Sie wollen, wenn Sie es auf einer Zeile wollen pro Bestelldatum. Wird jedoch unordentlich, wenn Sie zu viele Werte für OrderStatus haben.

1

Nicht getestet oder so, aber haben Sie versucht, nur die Anzahl von Ihren Gruppen auszuwählen?

Etwas wie:

SELECT Count(OrderStatus) As Amount, OrderDate 
FROM Orders 
GROUP BY OrderStatus, OrderDate 
HAVING OrderStatus = 2 OR OrderStatus = 1 

nicht sicher über die Syntax obwohl oder ist in SQL Server verwendet ..

0

Leider habe ich für so etwas suchen:

Bestelldatum Datensätze mit Orderstatus = 1 Datensätze mit Orderstatus = 2 1-Aug-09 10 20 2-Aug-09 20 10

Dank

+0

Es ist besser, Ihre Frage zu bearbeiten, als eine Antwort mit weiteren Details hinzuzufügen. –