3

以下に示すソーステーブルの例に似たテーブルがあり、IDフィールドに基づいて折りたたむ必要があります(折りたたまれたテーブルの例を参照)。これはコードで実行できますが、Accessデータベースが最大サイズ2 GBを超えて膨張するため、クエリで実行する方法があることを期待しています。任意のID値について、フィールド1、2、3、または4に値を持つ複数のレコードについて心配する必要はないことに注意してください。

ソーステーブルの例:

ID  One Two  Three  Four
1   My       Is
1                   Matt
1       Name
2   My       Is     Matt
2       Name
3   My  Name Is     Matt

折りたたみテーブルの例:

ID  One Two   Three  Four
1   My  Name    Is   Matt
2   My  Name    Is   Matt
3   My  Name    Is   Matt

提供されたヘルプまたはガイダンスを事前に感謝します。

マット

4

1 に答える 1

3

Max()ID でグループ化し、各 ID グループ内の他の 4 つの列のそれぞれに対してを返す集計クエリを使用できます。

SELECT
    ID,
    Max(One),
    Max(Two),
    Max(Three),
    Max(Four)
FROM tblSource
GROUP BY ID;

結果を新しいテーブルに保存する場合は、クエリを「テーブル作成クエリ」に変換します。宛先テーブルが既に作成されていて、それらの結果をそれに追加したい場合は、クエリを「追加クエリ」に変換します。

2 GB db のファイル サイズ制限に近づいている場合は、最初に [最適化と修復] を使用して未使用の領域を破棄します。コンパクトで十分な作業スペースが得られない場合は、別の db ファイルを作成し、そこに新しい (折りたたまれた) テーブルを保存します。元のデータベースからリンクできます。

于 2012-04-26T16:47:25.953 に答える