앞서 동일한 질문을 띄웠으나 한 분이 답변을 주셨으나 질문내용을
잘못 파악한 듯하며 해결이 안되 다시 올립니다. 아시는 분은 도와주세요.
계산필드나 LookUp으로 읽어온 필드를 인덱스할 수 있는 방법을 찾습니다.
기본 테이블에는 거래처 코드와 상호명이 있고
데이터를 기록한 장부 테이블(AcntBook.DB)에는 기본 테이블(Customer.DB)에서 가져온 거래처 코드와 거래내역이 있습니다.
작업내용은 거래내역에 있는 거래금액을 거래처 코드를 이용해 거래처별 거래집계를 얻고자 하는 것인데
query1.Close ;
query1.sql.clear ;
query1.sql.Add(‘select C.mCd, sum(A.Misumy-A.MsgMy) imsMy, sum(A.migiMy-A.MggMy) omgMy’);
query1.sql.Add(‘from Customer AS C, AcntBook AS A ‘);
query1.sql.Add(‘where A.mCd<>0 and A.mCd=C.mCd’);
query1.sql.Add(‘group by C.mCd’);
위와 같이 코딩하여 거래처별 내역을 얻는 데 까지는 성공했는데 문제는 이들 내역이 뿌려질 때 정렬입니다.
위의 내용으로 얻어지는 필드는 mCd, imsMy,omgMy 이 셋인데
이 내용들을 거래처별로 정렬하는 겁니다.
물론 Order by mCd를 추가하면 mCd로의 정렬은 가능하지만 본인이 답을 얻고자 하는 내용은 장부 테이블에는 없는 기본 테이블에 있는 상호를 연결하여 이 상호 순서로 정렬하고자 함입니다.
계산필드나 LookUp을 이용해서 상호명을 읽어 올 수 는 있었지만 이 경우에도 코드순으로의 정렬은 가능했지만 읽어온 필드를 기준으로 인덱싱은 불가능했습니다.
테이터베이스 작업을 하다 보면 흔히 부딪히는 문제인지라 분명 방법이 있을 것 같은데,
아무리 책을 뒤지고, 게시판 내용을 뒤적거려봐도 도무지 해결하지 못하고 있습니다.
누구든 문제의 답을 알고 계시는 분이 있어 도와 주신다면 정말 더 없이 고맙겠습니다.
051-515-4388 김태환 kim@dongasoft.co.kr 연락주신다면 백골난망(白骨難忘)하겠습니다
C.mName 상호라고 치구요...
query1.Close ;
query1.sql.clear ;
query1.sql.Add(‘select A.mCd, C.mName, sum(A.Misumy-A.MsgMy) imsMy, sum(A.migiMy-A.MggMy) omgMy’);
query1.sql.Add(‘from Customer AS C, AcntBook AS A ‘);
query1.sql.Add(‘where A.mCd<>0 and A.mCd=C.mCd’);
query1.sql.Add(‘group by A.mCd, C.mName’);
query1.sql.Add(‘order by C.mName’);
테이블의 내용을 자세히 몰라서 저에게 있는 테이블로 테스트 해봤는데...
잘 됐습니다...
제가 질문의 의도를 잘 파악했으면 좋겠네요... 쩝...
건강하시구요, 좀 쉬어가면서 일하세요....
그럼 20000....