2016-05-27 7 views
3

Ich möchte Daten in einem bestimmten Zeitraum von TableTransaction abzurufen (ID_Cust, CustName, TransValue, TransDate, ...)Klausel in Aggregatfunktion

In SQL unten I-Klausel hinzugefügt werden soll wie:

Where TransDate>1/1/2016 And TransDate<2/1/2016 

Code:

SELECT 
    ID_Cust, CustName, SUM(TransValue) As TotalPurchase 
FROM 
    TTransaction 
GROUP BY 
    ID_Cust, CustName 
HAVING 
    SUM(TransValue) < 25000000 
ORDER BY 
    TotalPurchase DESC 

habe ich versucht, diese Versuche, aber keiner von ihnen arbeitete.

SELECT 
    ID_Cust, CustName, SUM(TransValue) As TotalPurchase 
FROM 
    TTransaction 
WHERE 
    TransDate > 1/1/2016 AND TransDate < 2/1/2016 
GROUP BY 
    ID_Cust, CustName 
HAVING 
    SUM(TransValue) < 25000000 
ORDER BY 
    TotalPurchase DESC 

SELECT 
    ID_Cust, CustName, SUM(TransValue) As TotalPurchase 
FROM 
    TTransaction 
WHERE 
    TransDate > 1/1/2016 AND TransDate < 2/1/2016 
HAVING 
    SUM(TransValue) < 25000000 
ORDER BY 
    TotalPurchase DESC 
+3

Ich entfernte die externen Datenbank-Tags. Fühlen Sie sich frei, das Tag für die Datenbank hinzuzufügen, die Sie tatsächlich verwenden. –

Antwort

1

Zuerst brauchen Sie einfache Anführungszeichen um Datumskonstanten. Zweitens, verwenden Sie ISO-Standard-Datumsformate. Also, versuchen Sie Folgendes:

Select ID_Cust, CustName, SUM(TransValue) As TotalPurchase 
From TTransaction 
Where TransDate > '2016-01-01' AND TransDate < '2016-02-01' 
Group By ID_Cust, CustName 
Having SUM(TransValue)<25000000 
Order By TotalPurchase DESC 
Verwandte Themen