Jak napisać zapytanie SQL implementujące funkcję Excel SUMIFS

Mam taki stół:

Date        Sales   Department Store
02/01/2012   4.09    Toys       A
03/01/2012   5.90    Toys       A
02/01/2012   6.64    Toys       B
03/01/2012   4.71    Toys       B
02/01/2012   16.72   Toys       C
03/01/2012   1.37    Toys       C
02/01/2012   13.22   Movies     A
03/01/2012   18.06   Movies     A
02/01/2012   5.97    Movies     B
03/01/2012   16.71   Movies     B
02/01/2012   15.38   Movies     C
03/01/2012   19.75   Movies     C

I chcesz taki stół, w którym uwzględniane są tylko Store A i B:

Date        Toys    Movies
02/01/2012   10.73   19.19 
03/01/2012   10.61   34.77 

Oto funkcja SUMA, której używamy w EXCEL:

=SUMIFS(Value;Date;$H4;Department;I$3;Store;"<>C")

Co możemy napisać w SQL?

Weź pod uwagę, że jest to krótki przykład, tabela bazy danych ma ponad 30 działów i wiele dat. Korzystałem ze skryptu

SELECT DISTINCT Date,
ISNULL(MAX(CASE WHEN Department = 'Toys'  AND Store = 'A' THEN Sales END),0) +
ISNULL(MAX(CASE WHEN Department = 'Toys'  AND Store = 'B' THEN Sales END),0) [Toys],
ISNULL(MAX(CASE WHEN Department = 'Movies'  AND Store = 'A' THEN Sales END),0) +
ISNULL(MAX(CASE WHEN Department = 'Movies'  AND Store = 'B' THEN Sales END),0) [Movies]
FROM Table$
GROUP BY Date
ORDER BY Date

... ale to nie jest skuteczne. Dziękujemy za wszelkie wskazówki.

questionAnswers(1)

yourAnswerToTheQuestion