Как найти клиентов, которые купили продукты A и D с разницей в более 6 месяцев?

Мне нужен совет более продвинутых экспертов по SQL по этому поводу.

Меня просят создать отчет, показывающий клиентов, которые купили Продукт 105, и , которые затем купили Продукт 312 более чем через 6 месяцев .

Например, У меня есть следующая таблица заказов:

RecID   CustID   ProdID   InvoiceDate
  1       20      105      01-01-2009
  2       20      312      01-04-2009
  3       20      300      04-20-2009
  4       31      105      07-10-2005
  5       45      105      10-03-2007
  6       45      300      11-10-2007
  7       45      312      08-25-2008

Мне нужен отчет, который смотрит на эту таблицу и возвращается с:

CustID   ElapsedDays
  45        327

Нужно ли мне использовать курсор и перебирать запись за записью, сравнивая даты по ходу?

Если Итак, как будет выглядеть процедура курсора? Я не работал с курсорами, хотя годами занимался процедурным программированием.

Спасибо!

5
задан BornInChicago 10 February 2011 в 17:48
поделиться