0

約 500 万件のレコードを含む ORACLE テーブルがあり、増え続けています。Access を使用してデータを (Oracle から Access に) エクスポートしています。私が彼らに何を提案しようとも、彼らは彼らのシステムを変えようとはしません。

そのため、アクセスからデータを操作して Excel にエクスポートできるようにするには、データを 3 つのデータベース ファイルに分割する必要がありました。たとえば、テーブルがあるとしましょう

database1.TBL_A_to_G

database2.TBL_H_to_O

database3.TBL_P_to_Z

それらは単一のテーブルから取得されるため、同じフィールドがあります。まあ言ってみれば、

フィールド 1、フィールド 2、フィールド 3...フィールド 30

3 つのテーブルから 1 つのテーブルのようにデータを取得しているアクセスで、クエリを取得するにはどうすればよいですか?

私は試した

SELECT フィールド 1、フィールド 2、フィールド 3、フィールド 4、... フィールド 30 FROM TBL_A_to_G

連合

SELEC フィールド 1、フィールド 2、フィールド 3、フィールド 4、... フィールド 30 FROM TBL_H_to_O

-このクエリを TBL_A_O として保存する必要があります。

SELECT フィールド 1、フィールド 2、フィールド 3、フィールド 4、... フィールド 30 FROM TBL_A_O

連合

SELECT フィールド 1、フィールド 2、フィールド 3、フィールド 4、... フィールド 30 FROM TBL_P_to_Z

このアプローチの問題は、1 つのクエリ ステートメントで 3 つのテーブルを結合できないことです。その数のフィールドを結合できるというエラー メッセージが表示されます。また、まだいくつかのパフォーマンスの問題があります。パフォーマンスを念頭に置いてこれを行う方法を見つける必要があります。

私は代替案にもオープンです。目的は、これらの 3 つのテーブル (3 つの異なるデータベース内) からデータを取得し、それらをクエリとして (式などを使用して) Excel にエクスポートすることです。

4

2 に答える 2

0

union all代わりに使用してみてください:

SELECT Field1, Field2, Field3, Field4, ... Field30 FROM TBL_A_to_G
UNION ALL
SELECT Field1, Field2, Field3, Field4, ... Field30 FROM TBL_H_to_O
union all
SELECT Field1, Field2, Field3, Field4, ... Field30 FROM TBL_P_to_Z

テーブルごとに 30 フィールドしかないため、Access ではこれで問題ありません。

于 2013-03-25T01:11:12.877 に答える
0

最初に、レジスタを繰り返すかどうかを知る必要があります。そうする場合は UNION ALL を使用し、そうでない場合は UNION を使用します。おそらく、ACCESS からの統計を更新してパフォーマンスを向上させる必要があります。フィールドの問題については、データにアクセスするために間違った名前を使用していませんか? UNION/UNION ALL は最初のクエリのフィールド名を結果テーブルに使用することに注意してください。

于 2013-03-25T02:18:10.407 に答える