Q&A

  • sql중첩 재거방법___초보입니다.___도와주십시오
SELECT A.A1,  A.A2,  A.A3,
             B.B1,  B.B2,  B.B3,
             C.C1, C.C2,  C.C3
FROM    AA A,  BB B, CC C   /*AA는 메인 */
WHERE  A.A1 = B.B1
     AND A.A1 = C.C1
     AND B.B2 = C.C2

////////////////////////////////////////////////////

이렇게 SQL문을 작성 하면 같은내역이 2개 또는 3개의 레코드가 생성됩니다.
그렇게 생성되는 것이 정상인가요?
해결방법은 없나요?
5  COMMENTS
  • Profile
    성더기 2004.04.30 23:02
    기준이 되는 테이블 을 정하시고(보니깐 AA테이블 인거 같네요)
    Left Outer Join은 사용해 보세여
    SELECT A.A1,  A.A2,  A.A3,
                 B.B1,  B.B2,  B.B3,
                 C.C1, C.C2,  C.C3
    FROM    AA A
    LEFT OUTER JOIN BB B ON A.A1=B.B1
    LEFT OUTER JOIN CC C ON A.A1=C.C1

    이런식으로요
    참고로 이 쿼리는 ANSI 쿼리문이며 Oralce 9i이상 MS-SQL 7.0에서만
    테스트 했습니다...^^
    파이어 버드는 되구요 paradox는 outer join을 지원하지 않습니다

  • Profile
    박수영 2004.04.27 19:56


    자료의 예좀...
  • Profile
    임순철 2004.04.27 20:11

    특별한 자료는 아니고
    AA 테이블은 구매자 코드번호 와 날짜
    BB 판매금액,  
    CC 판매금액 에 대한 등급
    이런식 입니다.

    문제는 이 테이블이 하나라도 빠지면 안되는데 이렇게 3개를 비교 하다보니까
    질문드렸던것 처럼 중복되어서 나오네요.

  • Profile
    너구리 2004.04.27 20:36
    세 테이블이 1:1:1관계가 아닌가 보죠...

    어라 조인이 하나 더 들어갔네요..

    마지막꺼는 빼도 되는거 아닌가요??

    데이타 구조에 따라 결과 값은 틀려 지겠죠..

    저 조인건 키가 뭔지는 모르겠지만..

    A : B = 1:1
    A : C = 1:1

    이런 구조가 되야 하나가 나오겠죠..

    오라클이라면 distinct 라고 SELECT 절 에 넣어주면 되겠지만.

    이게 해결방법은 아닌거 같습니다.

    만약에 구매자별,일자별로 구하는 자료라면

    AA,BB테이블이 일자로조인을 걸었다면..

    일자별로 1:1의 관계가 되야 합니다.

    만약에 BB테이블이 하나의 일자로 여러개의 레코드가 있다면..

    여러개의 결과가 나오겠죠.. 하나의 일자로

    조인은 비교를 하는 개념이아니라 짝을 맞춘다고 생각하시는게 좋습니다.

    좀더 공부하시면 잘 아시겠지만요..

    그리고 쿼리를 질문 하실때는 PK가 뭔지 결과가 어떻게 나오는지 알려주시는게 답해드리는데 도움이 됩니다.
  • Profile
    임순철 2004.04.27 21:12
    질문이 잘못되었네요.
    그래도 많은 도움이 되었습니다.
    감사합니다.





    • Galaxy
    • 2004.04.27 20:59
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2004.04.27 22:43
      MS-SQL 쿼리분석기를 설치해서 접속되는지 테스트 해보시는 것이 어떨까요 접속이 되면 델파이 BDE쪽 문제...
    • Galaxy
      2004.04.28 00:54
      답변 감사 드립니다. 퀴리 분서기를 이용하여 접속 시도을 했지만 연결이  되지가 않네요(역으...
    • 최용일
      2004.04.27 20:44
      안녕하세요. 최용일입니다. C++이나 델파이나 같습니다. 둘 다 동일한 Windows API를 쓰니까요... Ge...
    • sarang프돌
      2004.04.27 20:47
      안녕하세요..최용일님앙~~ 항상 존 정보 주셔서 감사드립니다. 해보다 안되면 또 질문 올리것음다......
    • 임순철
    • 2004.04.27 19:41
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2004.04.30 23:02
      기준이 되는 테이블 을 정하시고(보니깐 AA테이블 인거 같네요) Left Outer Join은 사용해 보세여 SELECT...
    • 박수영
      2004.04.27 19:56
      자료의 예좀...
    • 임순철
      2004.04.27 20:11
      특별한 자료는 아니고 AA 테이블은 구매자 코드번호 와 날짜 BB 판매금액,   CC 판매금액...
    • 너구리
      2004.04.27 20:36
      세 테이블이 1:1:1관계가 아닌가 보죠... 어라 조인이 하나 더 들어갔네요.. 마지막꺼는 빼도 되는거...
    • 임순철
      2004.04.27 21:12
      질문이 잘못되었네요. 그래도 많은 도움이 되었습니다. 감사합니다.
    • 최인권
    • 2004.04.27 18:45
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2004.04.27 19:32
      안녕하세요 하얀까마귀 입니다. 음. 그 기능이 없나요? 리포트에서 이미지 쓴지가 오래되어서 ㅎㅎㅎ ...
    • 최인권
      2004.04.27 20:11
      답변 정말 감사드립니다. 근데 좀 간단한 예제라도 들어주시면 안될까요? 전 그냥 QRTimage를 생성해서 ...
    • 최인권
    • 2004.04.27 18:36
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2004.04.27 19:25
      안녕하세요 하얀까마귀 입니다. 음... 하드웨어 인터페이스라면 보통 씨나 비베로 많이들 작업을 합니다....
    • 최인권
      2004.04.27 20:25
      친절한 답변 정말 감사드립니다. 제가 지금 제어해야 하는 것은 Bill Acceptor 입니다. 지폐를 넣고 넣은...
    • sunny
    • 2004.04.27 12:11
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박수영
      2004.04.27 17:44
      잉 테스트 결과 잘 되는디요......
    • 장태원
      2004.04.27 20:04
      어딘가 찾아 보면, MDI 폼에 이미지 넣어주는 컴퍼넌트가 있긴 한데, 폼이 리사이징될 때, 약간 이상해...
    • 초짜그래머
      2004.04.29 06:51
      여기저기 떠돌다가, delphikorea.com 에서 우동진님의 글이 있어서 참조 했습니다. 우동진님이 링그...
    • 박수영
      2004.04.27 18:04
      전 이상하게도 RecNo가 안 되서 마지막 자료만 나오는데요... 근디 버그 하나는 찾았어요... ...
    • 임준
      2004.04.27 18:14
      먼저, 답변에 진심으로 감사드립니다. +1을 한 이유는 마지막 데이터가 안 나오길레....
    • 이재욱
    • 2004.04.27 03:30
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.04.27 03:36
      안녕하세요. 최용일입니다. TStrings객체는 추상객체입니다. 때문에 직접 인스턴스를 만들어서 사용하기...
    • 이재욱
      2004.04.27 03:46
      감사합니다. ^^ 그런게 있었군요. ^^
    • 포맨21
      2008.12.15 04:25
      감사합니다.. 문제 해결... 구글 보다 낳네요..
    • 석주현
      2004.04.27 02:57
      이렇게 하면 될꺼예요.. ^^ 음냐 원래 값이 아마도 더블형으로 저장이 되니깐요.. ^^ 그럼 아래 소스...
    • 김동열
      2004.04.27 18:34
      이렇게 했을경우 날짜가 1루 차이면 괜찬은데.. 이틀 차이가 날경우도 19가 나오네여... '2004-04-27 10:...
    • 석주현
      2004.04.27 18:57
      음냐 응용을 하실 수 있으실줄 알았는데 --;; 쩝.. 음 간단합니다.. 위에꺼 가지고 DecodeDa...
    • 이태경
    • 2004.04.27 00:47
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김민정
    • 2004.04.27 00:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박수영
      2004.04.27 00:39
      Timer를 이용해서 해 보세요...
    • 맑은물
    • 2004.04.27 00:07
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 맑은물
      2004.04.27 00:45
      sql컴포넌트의 sql속성에 다음과 같은 sql문을 사용하고 있습니다. select * from aTbale where trim(id...
    • [勳]후니
      2004.04.27 03:37
      query 컴포넌트를 더블클릭하면 플드 등록 부분이 있습니다. 그부분에 필드가 등록되어 있는지 확인해보...
    • 임준
    • 2004.04.26 23:56
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2004.04.27 00:42
      안녕하세요. 최용일입니다. TListView를 OwnerData로 사용할때 리스트뷰에서 데이터를 필요로 할 때 OnD...
    • 임준
      2004.04.27 00:48
      먼저 최용일님의 답변에 대단히 감사드립니다. 말씀하신 것처럼 while문을 빼서 실행해 보았는데 레코드...
    • 최용일
      2004.04.27 03:46
      안녕하세요. 최용일입니다. 흠... 쿼리결과를 그대로 이용하는 것은 문제가 있어보이네요... 리스트...
    • 박수영
      2004.04.27 00:58
      델파이 help의 내용입니다. procedure TForm1.FormCreate(Sender: TObject); var   I: ...
    • 임준
      2004.04.27 01:17
      답변해 주신 내용에 대해 감사드립니다. 그러나, 아래 예제로 적어주신 부분은 Ownerdata 프로퍼티를 사용...
    • 너구리
      2004.04.27 01:22
      디비가 뭔지요.. oracle 이라면 where 절에 rownum < 10? 11? 이렇게 넣어줘야 합니다. 하...
    • 석주현
      2004.04.27 03:53
      Function 이기 때문에 리턴 값을 갖게 되죠.. result:=(Pages.Objects[PageIndex] as TPage).Contro...
    • 박수영
    • 2004.04.26 22:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2004.04.27 03:48
      제가 그냥 보면 아실정도만 작성한 예입니다.. 날림입니다.. --;; 보시면 아실 수 있을꺼라 믿습니다...
    • 박수영
      2004.04.26 22:00
      이벤트에  onEnter, onExit에 각각 코딩하시면 됩니다....
    • 김의태
      2004.04.26 22:55
      아...무슨말인지 몰랐는데... 다시 생각해서 해보니까 되네요... 답변 감사드립니다....즐프~~^^
    • 박수영
      2004.04.26 22:57
      OnEnter는 Focus가 해당 Component에 있을때 발생하구요 OnExit는 Focus가 해당 Component를 벗어...