например.
У меня есть 2 таблицы клиентов и заказов
Клиенты
имеет столбцы
CustomerID, Имя
Заказы имеют столбцы OrderID, OrderedOn
, где OrderedOn - это DateTime
Теперь я хочу запрос, который даст мне
CustomerID OrderID и OrderTally
где OrderTally = 'Initial' для первого заказа
OrderTally = 'InMiddle' для всего в середине
а также
OrderTally = 'Final', если это последний заказ и был 30 дней назад,
Я пытаюсь создать оператор Case для OrderTally
и изо всех сил
Как проверить, является ли OrderID первым, последним или средним
-- The First Order
CASE WHEN OrderID IN (...)
THEN 'Initial'
-- The Last Order
WHEN OrderID IN (...)
THEN 'Final'
ELSE
'InTheMiddle'
END
Я думал о написании рейтинговых утверждений, а затем проверил, является ли его ранг первым, а если rank = общее количество всех ордеров, то последний ... но это кажется немного сложным.
Есть ли простой способ сделать это?