|
장성호 님이 쓰신 글 :
: DB가 GroupBy가 안된다고요?
: 그럼 join도 기대하지 말아야 겠네요
:
: 그냥 query결과를 가지고 해야한다면
:
: 그냥 변수하나 만들어두고 이전 Record값과 계속 비교하는 로직이 가장 이해하기 쉽겠네요
:
:
: [방법1]
:
: 1. select 할때 order by REG_SEQ로 하세요
: sql="select * from table_name order by REG_SEQ";
:
: 2. 이전 Record값을 저장할 변수를 하나 두고 계속 비교하는 방법입니다.
:
: String sRegSeq0,sRegSeq1;
: String sLink0,sLink1;
:
: for(i = 0; i < itCount; i++)
: {
: sRegSeq1 = m_DAO->t_DBA->GetField("REG_SEQ"); //시퀀스 값
: sLink1 = m_DAO->t_DBA->GetField("LINK_ID1"); // ID 값
:
: if((sRegSeq1!=sRegSeq0 ) && (sLink1!=sLink0)) //unique한경우를 찾는 비교문 ..
: {
: sRegSeq0=sRegSeq1;
: sLink0=sLink1;
: // REG_SEQ값이 다음 REG_SEQ값과 같은지 다른지 체크하여 각각 LINK_ID1을 저장해야 하는데??
: }
:
: m_DAO->t_DBA->MoveRec(i);
: }
:
:
: //....
: if 구문이 님의 의도와 맞는지 잘모르겠습니다만 ..
: 위와같이 하는 방법이 일단 이해하기 쉽고 심플할 것 같네요
: 그런데 이정도는 님께서도 충분히 생각하실수 있으실것 같은데..
: 제 답이 엉뚱하다면 좀더 명확하게 질문 부탁드립니다.
제 질문이 모자랐나봅니다.
루프문을 돌면서 REG_SEQ 값이 이전 값과 동일하다면 이전 REG_SEQ의 LINK_ID 값과 현재의 LINK_ID 값을 저장하여
해당 함수를 호출/처리하고, 계속 루프를 돌면서 이전 REG_SEQ값과 현재의 REG_SEQ값이 틀리다면 현재의 REG_SEQ값에 해당하는 LINK_ID 를 저장하여 해당 함수를 호출/처리하는 로직입니다. 머리가 돌이 되어버린 느낌...ㅠㅠ
|