Q&A

  • 이거좀 해결해 줘요... 무지무지 궁금
여기에 이런 테이블이 2개가 있어요



국가Table

SQL> desc hhs

이름 Null? 유형

------------------------------- -------- ----

HHS_NO(순번) NOT NULL NUMBER(3)

ACEN_CD(국가코드) VARCHAR2(3)

BCEN_CD(국가코드) VARCHAR2(3)

CCEN_CD(국가코드) VARCHAR2(3)



국가명Table

SQL> desc cencd

이름 Null? 유형

------------------------------- -------- ----

CEN_CD(국가코드) NOT NULL VARCHAR2(3)

CEN_NM(국가명) NOT NULL VARCHAR2(30)



여기에서 국가Table hhs를 먼저 select 하면

SQL> select * from hhs;



HHS_NO ACEN BCEN CCEN

--------- ---- ---- ----

1 450 452 495

2 450 515 455

3 450 302 310

4 457 454 428

이렇게 나옵니다..

여기에 나온숫자가 국가코드입니다(1,2,3,4는 순번입니다)



그리고 국가명 Table cencd 를 Select 하면

SQL> select * from cencd



CEN CEN_NM

--- ------------------------------

440 일본

450 한국

452 베트남

495 중국

:

:

등등 이렇게 나라코드와 나라명이 나옵니다



저는 이 hhs의 국가 코드 대신에 국가명을 보이고 싶습니다



원하는 답:

HHS_NO ACEN_CD BNTN_CD CNTN_CD

--------- ---- ---- ----

1 한국 베트남 중국

2 한국 마카오 태국

3 한국 미국 캐나다

4 라오스 홍콩 몽골리아

이렇게 말입니다..(직접 Edit한 내용)

단 이것을 StringGrid 가 아니라 DBGrid에 보여주는 방법을 원합니다..

이것을 아시는분은 자세이 설명을 바랍니다..

아주 급한데 잘 생각이....

도와주시면 무지무지 감사..

1  COMMENTS
  • Profile
    김운필 1999.07.24 00:34
    홍희석 께서 말씀하시기를...

    > 여기에 이런 테이블이 2개가 있어요

    >

    > 국가Table

    > SQL> desc hhs

    > 이름 Null? 유형

    > ------------------------------- -------- ----

    > HHS_NO(순번) NOT NULL NUMBER(3)

    > ACEN_CD(국가코드) VARCHAR2(3)

    > BCEN_CD(국가코드) VARCHAR2(3)

    > CCEN_CD(국가코드) VARCHAR2(3)

    >

    > 국가명Table

    > SQL> desc cencd

    > 이름 Null? 유형

    > ------------------------------- -------- ----

    > CEN_CD(국가코드) NOT NULL VARCHAR2(3)

    > CEN_NM(국가명) NOT NULL VARCHAR2(30)

    >

    > 여기에서 국가Table hhs를 먼저 select 하면

    > SQL> select * from hhs;

    >

    > HHS_NO ACEN BCEN CCEN

    > --------- ---- ---- ----

    > 1 450 452 495

    > 2 450 515 455

    > 3 450 302 310

    > 4 457 454 428

    > 이렇게 나옵니다..

    > 여기에 나온숫자가 국가코드입니다(1,2,3,4는 순번입니다)

    >

    > 그리고 국가명 Table cencd 를 Select 하면

    > SQL> select * from cencd

    >

    > CEN CEN_NM

    > --- ------------------------------

    > 440 일본

    > 450 한국

    > 452 베트남

    > 495 중국

    > :

    > :

    > 등등 이렇게 나라코드와 나라명이 나옵니다

    >

    > 저는 이 hhs의 국가 코드 대신에 국가명을 보이고 싶습니다

    >

    > 원하는 답:

    > HHS_NO ACEN_CD BNTN_CD CNTN_CD

    > --------- ---- ---- ----

    > 1 한국 베트남 중국

    > 2 한국 마카오 태국

    > 3 한국 미국 캐나다

    > 4 라오스 홍콩 몽골리아

    > 이렇게 말입니다..(직접 Edit한 내용)

    > 단 이것을 StringGrid 가 아니라 DBGrid에 보여주는 방법을 원합니다..

    > 이것을 아시는분은 자세이 설명을 바랍니다..

    > 아주 급한데 잘 생각이....

    > 도와주시면 무지무지 감사..



    안녕하세요...

    짧은 지식이지만 제가 아는 것 같기에 몇자 적습니다.



    먼저 DBGrid에 나타나려면 Query 컴포넌트를 이용하시는 게 낫겠네요.



    답변부터 적습니다.

    오라클 DB를 쓰시는 것 같은데 저는 MS SQL로 테스트 했습니다.

    VIEW를 만들어 쓰시면 편할 것 같구요.

    쿼리 문장만 적습니다.



    /*--------------------------------------------------------------

    SELECT HHS_NO, 'ACEN'=A.CEN_NM, 'BCEN'=B.CEN_NM, 'CCEN'=C.CEN_NM

    FROM HHS H, CENCD A, CENCD B, CENCD C

    WHERE (H.ACEN_CD = A.CEN_CD)

    AND (H.BCEN_CD = B.CEN_CD)

    AND (H.CCEN_CD = C.CEN_CD)

    --------------------------------------------------------------*/

    HHS_NO ACEN BCEN CCEN

    ------- -------- --------- --------

    1 한국 베트남 중국

    2 한국 마카오 태국

    3 한국 미국 캐나다

    4 라오스 홍콩 몽골리아



    (4 row(s) affected)



    간단하죠....(너무 어렵게 생각하신건 아닌 지..)

    CENCD라는 TABLE을 앨리어스 A, B, C로 만들어

    각 필드마다 조인합니다....

    도움이 되셨는지요... 그럼 20000