Q&A

  • SQL상에서 두개의 DB조인시 에러
회사 업무상.. 델파이를 좀 해야하는데.. 첨 접하는거라.. 여간 어려운게 아니군요.. 고수님들의 답변 부탁드릴께요.. 잘 모르는거라서. .질문이 좀 이상해두
양해해주시구요....

2개의 DB의 데이터를 동시에 불러야 하는건데...
SQL 상에서 JOIN을 시켜서 가져올려구 하는데 계속 에러가 나더군여..
A라는 DB와 B라는 DB에서 C라는 공통 필드의 값을 조건으로 해서
가져올려구 하는데 A DB에선 C가 넘버의 형태로 되어있고 B라는 DB에선
Alpha(8)의 형태로 되어있거든요.. DB 자체를 변환시키기 보다는 이것을
SQL문 안에서.. 변형을 시키고 싶은데 어떻게 해야할지를 모르겠습니다.

그리고 이 경우 group by는 어떻게 써야할 지도 알고 싶네요...
질문이 어설프지만.. 답변해주심 감사하겠습니다.

제가 쓴 예를 보여드릴겠습니다.

str := 'select CF.SVC_CD A, '            //1
        + 'CF.SVC_NUM B, '                   //2
        + 'CF.PRIC_PLAN C, '                 //3
        + 'CF.BILL_RGIB D, '                 //4
        + 'CF.BILL_RDOM E,'                  //5
        + 'CF.BILL_RKTK F,'                  //6
        + 'CF.BILL_RSKTK G,'                 //7
        + 'CF.BILL_RDATA H,'                 //8
        + 'CF.BILL_RNTJUNG I, '              //9
        + 'CF.BILL_RNTTONG J, '              //10
        + 'CF.BILL_RNTINFO K,'               //11
        + 'CF.BILL_RPHMAIL L,'               //12
        + 'CF.BILL_RGRPHONE M, '             //13
        + 'CF.BILL_RGRPHAL N, '              //14
        + 'CF.BILL_JAHAL O, '                //15
        + 'CF.BILL_011HAL P, '               //16
        + 'CF.BILL_LNGHAL Q, '               //17
        + 'CF.BILL_BUSHAL R, '               //18
        + 'CF.BILL_BUSHAL_D S, '             //19
        + 'CF.BILL_RADD T, '                 //20
        + 'CF.BILL_RCNIP U, '                //21
        + 'CF.BILL_RINFO V, '                //22
        + 'CF.BILL_RTAX W, '                 //23
        + 'CF.BILL_RVAT X, '                 //24
        + 'CF.BILL_RROA Y, '                 //25
        + 'CF.BILL_GWANAB Z, '               //26
        + 'CF.BILL_ADJ AA, '                 //27
        + 'CF.BILL_CRFLO AB,'                //28
        + 'CF.BILL_ETC AC,'                  //29
        + 'CF.BILL_JEOLSA AD, '              //30
        + 'CF.TOT_OPEN_BAL AE, '             //31
        + 'sum(CP.BILL_DOSU) AF, '           //32
        + 'sum(CP.BILL_CHARD_AMT) AG, '      //33
        + 'CF.JUNGANG_AMT AH , '             //34
        + 'CF.ILBAN_ACNT_AMT AI, '           //35
        + 'CF.SVC_SET_UP_DT AJ'              //36
        + ' from CD_FEE CF, CD_CALL_PERTIME CP'
        + ' where CF.SVC_CD = ' + chr(39) + 'C' + chr(39)
        + ' and   CF.SVC_NUM = CP.SVC_NUM '
        + ' group by  CF.SVC_NUM, CP.SVC_NUM '
        + ' order by CF.JUNGANG_AMT desc';
1  COMMENTS
  • Profile
    김영남 2002.09.06 00:44

    위의 문장중에 두 테이블이 조인되는 키가 되는 필드가 SVC_NUM 인지요?

    그렇다면 한쪽의 필드를 형변환 하셔야 할듯 합니다...

    예를 들면 AND CF.SVC_NUM = TO_NUMBER(SVC_NUM) ...이런 형태로요

    그리고 이런 경우는 필드를 바꾸심이 옳을듯 합니다...웅~

    Datatype이 다른필드를 Join한다는건 조금 위험한듯 보입니다...

    Index문제도 있을듯...

    그리고 Group by절의 필드들은...Select절에 Group함수를 제외한 필드는

    모두 들어가야 하는걸로 알고 있습니다...

    SQL을 수정하셔야 할듯 싶네요...왜 Group을 해야 하는지...

    그리고 특별히 다른 자료형으로 필드들이 조인 되어야 하는지 명확한 이유가

    있다면 sql을 만드는데 도움이 될듯 합니다.
    • husky_kim
    • 2002.09.06 02:59
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2002.09.06 03:11
      uses절에 ShellAPI 추가하시고요... procedure TForm1.Button1Click(Sender: TObject); var  &nb...
    • husky_kim
      2002.09.06 03:30
      답변주셔서 감사합니다. web 브라우저 띄운다음 바로 폼을 닫으니까 이상없이 잘 되더라구요.. 근데 문제...
    • 타이룽
    • 2002.09.06 02:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2002.09.06 03:13
      외부콤퍼넌트를 사용하신것같은데... 여기 자료실이나 옆에 링크걸린데서 찾아보세요... 못찾으면 델파이...
    • 아폴론
      2002.09.06 19:30
      Title     ------> 요기에 Group밴더를 두개 놓으시고     ...
    • 김영남
      2002.09.06 01:56
      다른곳으로 클릭이라함은... 포커스를 잃을때를 말씀하시는 건지요? 그럼 Exit이벤트에서 코딩을 하...
    • ㄴ ㅏ ㅁ ㅑ
      2002.09.06 02:08
      감사합니다.. 이렇게 간단한 방법이 있는데도 모르니까 정말 많은 시간을 헤매게 되네요 정말 감사합...
    • 정진훈
    • 2002.09.06 01:41
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김영남
      2002.09.06 02:00
      좀더 고급기능은 있겠지만...제가 예전에 썼던 방법은... 여러개의 이미지 컴포넌트가 있을때...한곳의 ...
    • 임상현
    • 2002.09.06 00:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영남
      2002.09.06 00:59
      게시물을 좀만 검색해보면 금방 아실수 있었을텐데...^^ 다음 글은 예전에 질답란에 김영대님이 올리신 ...
    • 김상수
    • 2002.09.06 00:28
    • 5 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2002.09.06 03:16
      그냥 문자로날려서 쿼리에서 해겨해보세요... 파라미터로 '20020905'로 대입해서 오라클의 to_char,to_da...
    • 김상수
      2002.09.06 05:04
      제가 하고자 하는 것은 :adt_start_date 의 파라미터는 그주의 월요일을 값으로 받아옵니다.. ...
    • 김상수
      2002.09.06 01:21
      질문 올리고 이렇게 함 바꿔 봤습니다... SUM(DECODE(X.SCH_DATE,  :adt_start_date , X.P...
    • 김영남
      2002.09.06 00:37
      datatype문제인듯 한데요? 파라미터를 넘기는 부분의 컴포넌트 및 데이터의 데이터타입... 또 그 벨...
    • 김상수
      2002.09.06 00:55
      답변 잘 받았습니다.. 저도 초보라 잘은 모르지만    포멧 형식이 맞지 않아 그런거 ...
    • 이해연
    • 2002.09.06 00:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영남
      2002.09.06 00:44
      위의 문장중에 두 테이블이 조인되는 키가 되는 필드가 SVC_NUM 인지요? 그렇다면 한쪽의 필드를 형변...
    • 이정택
    • 2002.09.05 23:48
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.09.07 01:34
      hsr///////////////////////////////////////////////////////// 실행파일은 자료실에 넣어 놓았습니다. ...
    • 김영남
      2002.09.06 00:46
      가능합니다... 이곳 질답란에 검색해 보시면 많이 보실 수 있을겁니다... CheckBox뿐만 아니고 다른 ...
    • 김용일
    • 2002.09.05 23:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.09.05 23:53
      hsr/////////////////////////////////////////////////////// 많이사용하는 WndProc의 Message를 가로채...
    • 홍성락
      2002.09.05 23:23
      hsr//////////////////////////////////////////////////////////////// 제가 말씀드려도 될지..... 전 ...
    • 김성욱
    • 2002.09.05 21:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정택
      2002.09.05 21:55
      저역시 비슷한 내용으로 많은 고민을 했거든요.. 물론 저는 Delphi를 이용한 c/s프로그램입니다. 그런데 ...
    • 김상수
    • 2002.09.05 21:32
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박장용
      2002.09.05 22:34
      TempQuery.Close하시면 됩니다.. ^^;;
    • 김상수
      2002.09.05 23:49
    • 윤순상
    • 2002.09.05 20:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.09.05 23:06
      hsr///////////////////////////////////////////////////////////// TEdit는 Alignment없어서요.... 1.N...
    • 궁금이
    • 2002.09.05 20:48
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.09.05 23:40
      hsr/////////////////////////////////////////////////////// 혹시 resize할때는 에러가 없나요? 제일 ...
    • 양익호
    • 2002.09.05 20:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2002.09.06 03:20
      강의실에 보시면 양병규님이 올리신 코딩으로 출력하는방법이 있습니다... 그걸로 먼저 겅부해보세요... ...