왼쪽 가입을 사용하여 do while 루프의 결과를 요약하고 있지만 일부 알 수없는 이유로 모든 테이블에 가입하지 않고 덮어 씁니다. 내가 보지 못하는 것은 무엇입니까?FoxPro 9.0 LEFT JOIN 덮어 쓰기입니다.
DO WHILE counter < NbContracts
SELECT depot_nr as depot_nr;
WHERE rownum = counter FROM test3
test33(depot_nr, counter)
counter = counter + 1
ENDDO
CLOSE TABLES
PROCEDURE test33(depot_nr_in, NbofTimes)
USE bs_case alias bs
SELECT jaar as jaar,;
Psres4pcgb as &depot_nr_in;
WHERE Depot_nr = depot_nr_in FROM bs
COPY TO toJoin.dbf
DO CASE
CASE NbofTimes = 1
SELECT * FROM toJoin.dbf
COPY TO joining.dbf
CASE NbofTimes = NbContracts
SELECT * FROM bsP.tmp as one LEFT JOIN joining.dbf as aggregated;
ON (one.depot_nr = aggregated.depot_nr) into table final.dbf
CLOSE TABLES
ENDPROC
OTHERWISE
SELECT &depot_nr_in FROM toJoin.dbf as a LEFT JOIN joining.dbf as b;
ON a.jaar = b.jaar INTO TABLE final.dbf
CLOSE TABLES
USE final.dbf
COPY TO joining.dbf
ENDCASE
CLOSE TABLES
CLOSE DATABASES
ENDPROC
이슈는 달리 섹션 (내가 생각하는) 다른 알 수없는 이유로 내 FoxPro에이 CASE 구조 recogninzing되지 나타납니다 (보너스 질문을하지만, 우선 해제 이하).
내가
test3.dbf
===================================
22
31
32
23
NbofTimes = 1
final.dbf
===================================
year 22
-----------------------------------
1 val1
2 val2
3 val3
... ...
80 val80
NbofTimes = 2
final.dbf
===================================
year 22 31
-----------------------------------
1 val1 val4
2 val2 val5
3 val3 val6
... ... ...
80 val80 val81
NbofTimes = 3
final.dbf
===================================
year 22 31 32
-----------------------------------
1 val1 val4 val7
2 val2 val5 val8
3 val3 val6 val9
... ... ... ...
80 val80 val81 val82
을 원하는에 작은 그림 4
final.dbf
===================================
year 22 31 32 23
-----------------------------------
1 val1 val4 val7 val10
2 val2 val5 val8 val11
3 val3 val6 val9 val12
... ... ... ... ...
80 val80 val81 val82 val83
내 마지막 표는 결코 그냥 마지막 반복을 포함 성장되지 않도록 무엇 지금 일어나고있는 것은
NbofTimes =. 도움 .....
안녕하세요 예 내 응집 추가 열 및 I 등 분(), MAX() 합계()로서 열이 아닌 값과 관련되어) = 일하고 코드의 다른 발췌 문장을 해결할 수 있었고, 이제는 내가하는 일이 왜 작동하지 않는지 이해하기 위해 고심하고있다. 미안 내 설명이 충분히 명확하지 않은 경우, 나는 이것에 많은 시간을 할애하고 명백한 아닌지 보지 못합니다. – Orongo
@orongo,이 게시를 편집하고 모든 코드를 표시 할 수 있습니까? 일부 부분이 빠져 있고 전체 사이클 수에 대한 시작/변수가 처리되지 않는 경우가 있습니다. 또한 "jaar"값 등의 일부 샘플을 사용하면 새로운 솔루션을 더 잘 활용하고 찾고있는 것을 얻는 방법을 간소화 할 수 있습니다. – DRapp
@Orongo, 실제 저장소를보고, jaar, 데이터의 자연스러운 표시 (찾아보기)로 Psres4pcgb 값이 실제로 도움이됩니다. – DRapp