Access db ループ - 1 つのテーブルのレコードごとに、別のテーブルにレコードの配列を作成します
-
03-07-2019 - |
質問
ネストされたループクエリを作成することは可能ですか? アクセスDB それは 3 番目のテーブルを更新しますか?
マスター(ヘッダー)テーブルがあります。
------------------------
masters
------------------------
num | modality | cost |
------------------------
01 | thing | 23.00 |
02 | thing | 42.00 |
03 | thing | 56.00 |
04 | apple | 11.00 |
05 | apple | 17.00 |
3 つ目の (実際の) テーブルを作成するために必要な詳細情報を含む一時テーブル 詳細 キーオフとなるテーブル マスター テーブル
これは一時詳細テーブルのサンプルです。
----------------------------------
temps
----------------------------------
modelnumber | modality | priceEa |
----------------------------------
| 123 | thing | 1.00 |
| 234 | apple | 2.00 |
| 345 | apple | 3.00 |
| 456 | apple | 4.00 |
| 567 | thing | 5.00 |
基本的に、次のすべてのレコードをループする必要があります。 マスター テーブル。
外側のループ:
マスター テーブルの各レコードについて、モダリティを取得します。
内部ループ:
次に、モダリティが一致する temps テーブル内のレコードごとに、詳細テーブルにレコードを作成します (その過程で、temps.priceEa と masters.cost に基づいていくつかの計算を実行します)。
これにより、マスター テーブルのすべてのレコードに対して、(マスター * 一時) 個の新しいレコードが詳細テーブルに作成されます。
詳細テーブルは次のようになります。
----------------------------------------------------------
details
----------------------------------------------------------
num | modelnumber | modality | priceEa | adjustedCost |
----------------------------------------------------------
| 01 | 123 | thing | 1.00 | (do calc here)
| 01 | 567 | thing | 5.00 | (do calc here)
| 02 | 123 | thing | 1.00 | (do calc here)
| 02 | 567 | thing | 5.00 | (do calc here)
| 03 | 123 | thing | 1.00 | (do calc here)
| 03 | 567 | thing | 5.00 | (do calc here)
| 04 | 234 | apple | 2.00 | (do calc here)
| 04 | 345 | apple | 3.00 | (do calc here)
| 04 | 456 | apple | 4.00 | (do calc here)
| 05 | 234 | apple | 2.00 | (do calc here)
| 05 | 345 | apple | 3.00 | (do calc here)
| 05 | 456 | apple | 4.00 | (do calc here)
...etc
解決
SELECT m.num, t.modelnumber, m.modality, t.priceea
into myNewTempTable
from masters m inner join temp t on m.modality = t.modality
order by m.num, t.modelnumber
所属していません StackOverflow