2014-09-06 9 views
1

Предположим, этот запрос,Состояние функции оконного

SELECT 
    SUM (Quantity) OVER (Partition By Symbol ORDER BY PositionID ASC ROWS UNBOUNDED PRECEDING) as RemainedQty 

Можно ли определить условия в функции кадрирования? В этом примере мне нужно получить SUM (количество) при разных обстоятельствах в каждой строке. Нечто (гипотетически) нравится:

SELECT 
SUM (Quantity) OVER (Partition By ...) Where SomeColumn='X' as RemainedQty_X, 
SUM (Quantity) OVER (Partition By ...) Where SomeColumn='Y' as RemainedQty_Y ... 

ответ

1

Да, это возможно.

Выберите SUM (случай, когда SomeColumn = 'X', то количество еще 0 конец), как SumX, SUM (случай, когда SomeColumn = 'у', то количество еще 0 конец) в Сумах из таблицы