2009-08-25 7 views
0

Je cette simple table OrdersGroupe par requête dans SQL Server 2008 aide

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

Dans le serveur Sql dans une requête comment puis-je obtenir pour chaque ORDERDATE: - TOTALNUMBER des commandes avec orderstatus = 1, - TOTALNUMBER des commandes avec orderstatus = 2

Merci

+0

Votre question n'est pas formulée clairement. Vous voudrez peut-être corriger cela avant qu'il ne soit réduit. – Cynthia

Répondre

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 

vous donnera ce que vous voulez si vous le voulez sur une ligne par OrderDate. Obtient désordonné si vous avez trop de valeurs pour OrderStatus, cependant.

1

n'a pas été testé ou quoi que ce soit, mais vous avez essayé simplement sélectionner le nombre de vos groupes?

Quelque chose comme:

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

ne suis pas sûr que la syntaxe ou si HAVING est utilisé dans SQL Server ..

0

Désolé Je cherche quelque chose comme ceci:

OrderDate enregistrements avec OrderStatus = 1 enregistrements avec OrderStatus = 2 1-août-09 10 20 2-Août-09 20 10

Merci

+0

Il est préférable de modifier votre question plutôt que d'ajouter une réponse avec plus de détails. –