액세스 DB 루프 - 한 테이블의 각 레코드에 대해 다른 테이블에 레코드 배열을 만듭니다.
-
03-07-2019 - |
문제
중첩 루핑 쿼리를 만들 수 있습니까? 액세스 DB 세 번째 테이블을 업데이트할까요?
마스터 (헤더) 테이블이 있습니다.
------------------------
masters
------------------------
num | modality | cost |
------------------------
01 | thing | 23.00 |
02 | thing | 42.00 |
03 | thing | 56.00 |
04 | apple | 11.00 |
05 | apple | 17.00 |
세 번째 (실제)를 만들어야하는 세부 정보가 포함 된 임시 테이블 세부 키를 키우는 테이블 마스터 테이블
다음은 임시 세부 사항 테이블의 샘플입니다.
----------------------------------
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