1

次の列を持つテーブル「RANGES」があります

   LowRange  as int
   HighRange as int

以下のようなデータで

範囲から*を選択します

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

そして、次の列を持つ別のテーブル「infoDetails」

Range as INT
amount as money

以下のようなデータで

infoDetailsから*を選択します

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

カーソルのない次の形式のレポートが1つ必要です。

LowRange    HighRange    Count    Amount

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

あなたの提案は大歓迎です!!

前もって感謝します

ソライ

4

1 に答える 1

1

範囲が正しく、重複もギャップも残さないと仮定します。

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;
于 2010-01-13T06:36:59.063 に答える