액세스 DB 루프 - 한 테이블의 각 레코드에 대해 다른 테이블에 레코드 배열을 만듭니다.

StackOverflow https://stackoverflow.com/questions/808331

문제

중첩 루핑 쿼리를 만들 수 있습니까? 액세스 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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top