0

Access に保存されているデータに対して複雑な計算 (制限に似たもの) を実行しようとしています。階層化/ネストされたクエリを使用して計算を実行できます。各式は最後の結果に基づいています。私の問題は、9回目の繰り返しで「クエリが複雑すぎます」というエラーが発生することです。私の理解では、アクセスは同時に実行できるサブクエリの数が制限されているためです。SELECT ステートメントで AS を使用する代わりに、同じクエリでより多くの反復を実行できるようにする方法はありますか? 私が行っていることをよりよく示すために、SQL を単純化しようとしました (例で実行されている実際の計算は無視してください)。

SELECT Tbl_1.VarA, Tbl_1.VarB,
(VarA^2*([VarA]+[VarB])/2) AS EQ1,
(VarA^2*([VarA]+[EQ1])/2) AS EQ2
FROM Tbl_1

私の現在の回避策は、最後の反復をテーブルに保存してから、その値に対して 2 番目のクエリを実行することです。しかし、これは本当に悪い習慣だと思います。

(1) 最初のクエリに基づいて 2 番目のクエリを作成します (2) 定数変数をその値に置き換えます (3) 式を入れ子にします (VarA^2*([VarA]+(VarA^2))。 *([VarA]+[VarB])/2))/2) AS EQ2

私は比較的新しいので、適切に何かを参照していない場合は、事前にお詫び申し上げます。

4

1 に答える 1

0

計算列をテーブルに追加してみて、それらの式を EQ1 と EQ2 に使用してください

http://msdn.microsoft.com/en-us/library/ff945943.aspx

于 2012-06-25T22:13:50.170 に答える