Как проверить диапазон и количество записей в этом диапазоне без использования курсора? - PullRequest
1 голос
/ 13 января 2010

У меня есть таблица «RANGES» со следующими столбцами

   LowRange  as int
   HighRange as int

с данными, аналогичными приведенным ниже

select * from Ranges

LowRange   HighRange
1          100
101        200
201        300
.
.
.
901        1000

И еще одна таблица "infoDetails" со следующими столбцами

Range as INT
amount as money

с данными, аналогичными приведенным ниже

select * from infoDetails

Range   Amount
23      34.00
235     44.00
345     34.00
678     100.00
555     100.00
530     100.00
510     100.00

Мне нужноодин отчет в следующем формате без курсора.

LowRange    HighRange    Count    Amount

1           100           1        34.00
101         200           0        0.00
.
.
501         600           3        300.00
601         700           1        100.00

Ваши предложения приветствуются !!

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

Solai

1 Ответ

1 голос
/ 13 января 2010

Предполагая, что ваши диапазоны верны, они не перекрываются и не оставляют пробелов:

SELECT LowRange, HighRange, count(*), SUM(Amount)
FROM Ranges r
LEFT JOIN infoDetails d on d.Range between r.LowRange and r.HighRange
GROUP BY LowRange, HighRange;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...