Объединить две или более строки в SQL Server 2000 - PullRequest
1 голос
/ 21 апреля 2011

Предположим, моя таблица содержит следующую информацию:

row | ID  |       date1          |        date2            | place   | value
--------------------------------------------------------------------------
1   |  1  |  2011-01-23 05:33:21 |    2011-01-23 06:43:10  |    A    |     5
2   |  1  |  2011-01-23 06:44:21 |    2011-01-23 07:13:28  |    A    |     4
3   |  1  |  2011-01-23 07:14:21 |    2011-01-23 07:27:28  |    A    |     4
4   |  1  |  2011-01-23 08:30:11 |    2011-01-23 09:56:45  |    A    |     6
5   |  1  |  2011-01-23 09:58:21 |    2011-01-23 10:43:26  |    B    |     8
6   |  2  |  2011-01-23 05:33:21 |    2011-01-23 06:43:21  |    A    |     3

Я хочу объединить так же, как строки 1 и 2, как показано ниже (в таблице так много строк, как указано выше) Условие DATEDIFF(minute, row1.date2, row2.date1) < 10 and row1.place = row2.place

row | ID  |       date1          |        date2          |  place   | value
=======================================================================
1   |  1  |  2011-01-23 05:33:21 |   2011-01-23 07:27:28 |     A    |    13
2   |  1  |  2011-01-23 08:30:11 |   2011-01-23 09:56:45 |     A    |    6
3   |  1  |  2011-01-23 09:58:21 |   2011-01-23 10:43:26 |     B    |    8
4   |  2  |  2011-01-23 05:33:21 |   2011-01-23 06:43:21 |     A    |    3

, пожалуйста, помогите мне выбрать вышеуказанный результат из моей таблицы.

Заранее спасибо.

1 Ответ

0 голосов
/ 21 апреля 2011
insert into table
   select 
      row, id, date1, date2, place, sum(value)
   from table
   where (your date diff condition)
   group by row, id, date1, date2, place

Я думаю, что это должно работать ..:)

...