1

次の Access 2010 クエリを使用して、数千の組織の経費を含む大規模な (100 万を超えるレコード) csv データベースからデータを取得することに成功しました。このクエリは、LINE_NUM (00100 から 10099 までの行番号) で編成された数値の長い列と、各組織の合計 (行番号 10100) を生成します。

SELECT
   [1995_1].RPT_REC_NUM,
   [1995_1].PRVDR_NUM,
   [1995_2].WKSHT_CD,
   [1995_2].LINE_NUM,
   [1995_2].CLMN_NUM,
   [1995_2].ITM_VAL_NUM
FROM 1995_1
INNER JOIN 1995_2
ON [1995_1].RPT_REC_NUM = [1995_2].RPT_REC_NUM
WHERE
   ((([1995_2].WKSHT_CD)="A000000") AND (Not ([1995_2].LINE_NUM)="09500") AND
   (([1995_2].CLMN_NUM)="0100" Or ([1995_2].CLMN_NUM)="0200"))
ORDER BY [1995_1].RPT_REC_NUM, [1995_1].PRVDR_NUM, [1995_2].LINE_NUM;

行の合計が( 00100-10099) =sum(10100).

これまでのところ、この目標を達成するためにクエリを編集できませんでした。

RPT_REC_NUM|WKSHT_CD|LINE_NUM|CLMN_NUM|ITM_VAL_NUM
38897   A000000 100 600 -58202
38897   A000000 200 200 98030
38897   A000000 200 600 8169
38897   A000000 300 200 3445
38897   A000000 400 200 406237
38897   A000000 400 600 22879
38897   A000000 500 100 319063
38897   A000000 500 200 1856092
38897   A000000 500 600 -202
38897   A000000 600 100 1433541
38897   A000000 600 200 3762820
38897   A000000 600 600 -1169298
38897   A000000 700 100 265470
38897   A000000 700 200 551233
38897   A000000 900 100 69663
38897   A000000 900 200 38948
38897   A000000 1000    100 214322
38897   A000000 1000    200 105166
38897   A000000 1100    100 273255
38897   A000000 1100    200 451171
38897   A000000 1100    600 -188629
38897   A000000 1400    100 396603
38897   A000000 1400    200 6961
38897   A000000 1500    100 143603
38897   A000000 1500    200 912099
38897   A000000 1600    200 1059912
38897   A000000 1700    100 240054
38897   A000000 1700    200 83344
38897   A000000 1700    600 -2638
38897   A000000 2500    100 2013226
38897   A000000 2500    200 98046
38897   A000000 2500    600 -2327
38897   A000000 2600    100 551931
38897   A000000 2600    200 23301
38897   A000000 3300    100 196060
38897   A000000 3300    200 13485
38897   A000000 3300    600 -2079
38897   A000000 3700    100 539873
38897   A000000 3700    200 427198
38897   A000000 3800    100 55167
38897   A000000 3800    200 2693
38897   A000000 3900    100 329716
38897   A000000 3900    200 33014
38897   A000000 4000    100 24716
38897   A000000 4000    200 130758
38897   A000000 4000    600 -83333
38897   A000000 4100    100 479582
38897   A000000 4100    200 1662635
38897   A000000 4100    600 -932119
38897   A000000 4300    100 48048
38897   A000000 4300    200 187022
38897   A000000 4300    600 -38404
38897   A000000 4400    100 547169
38897   A000000 4400    200 589613
38897   A000000 4400    600 -83525
38897   A000000 4600    100 49044
38897   A000000 4600    200 88309
38897   A000000 4800    200 73280
38897   A000000 4900    100 189434
38897   A000000 4900    200 48636
38897   A000000 5000    100 5415
38897   A000000 5000    200 546001
38897   A000000 5000    600 -97409
38897   A000000 5300    100 138862
38897   A000000 5300    200 111687
38897   A000000 5300    600 -67989
38897   A000000 5400    100 6129
38897   A000000 5400    200 3758
38897   A000000 5600    600 -2092
38897   A000000 6100    100 629731
38897   A000000 6100    200 944625
38897   A000000 6100    600 -871968
38897   A000000 9000    200 110713
38897   A000000 9000    600 -8202
38897   A000000 10100   100 9159677
38897   A000000 10100   200 14430232
38897   A000000 10100   600 -3577368

返信ありがとうございます。このデータには列 600 が含まれており、クエリで除外されていることに注意してください。ただし、(私が思うに) 私が達成したいことを示しています: 行 100-9000 列 100 & 200 に関連付けられた値を合計して、それらの合計が行 10100 列 100 & 200 の合計であるかどうかを確認します。

この説明がお役に立てば幸いです。

アル

4

0 に答える 0