결과값 폼대로 오라클 쿼리는 작성하고 싶은데 조언좀 부탁드립니다. 0 1 628

by pjsvoca [SQL Query] [2021.02.14 22:48:32]


1)주테이블(기본정보_입고테이블)

CREATE TABLE TEST1

(

  TEST1_ID        NUMBER  NOT NULL   --PK

 ,NAME            VARCHAR2(60 BYTE)  --과정명

);

 

2)부 테이블(상세정보_입고테이블)

CREATE TABLE TEST2

(

  TEST1_ID        NUMBER  NOT NULL     --FK( TEST1 테이블(Left join)

 ,TEST2_ID        NUMBER  NOT NULL     --PK

 ,IN_NUMBER       VARCHAR2(60 BYTE)    --출고갯수

 ,IN_YYMMDD       VARCHAR2(60 BYTE)    --출고날짜

);

 

3)부 테이블(출고 테이블)

CREATE TABLE TEST3

(

  TEST3_ID        NUMBER  NOT NULL  --출고테이블 PK

 ,OUT_NUMBER      VARCHAR2(60 BYTE) --출고갯수  

 ,OUT_YYMMDD      VARCHAR2(60 BYTE) --출고날짜

);

 

 

SELECT * FROM TEST1;

결과값

1 제1기 국제조세글러벌역량

2 제1기 감사실무

3 제2기 감사실무2

 

SELECT * FROM TEST2;

결과값

1 11 60 2021/02/17

1 12 40 2021/02/16

1 13 20 2021/02/18

2 14 10 2021/02/19

 

SELECT * FROM TEST3;

결과값

1 20 2020/02/18

2 10 2020/02/19

 

결과값이 이런식으로 나왔는데 문제가 요구사항 맞춰서 

정해진 폼에 결과값을 출력하고 싶은데 잘 안되어서 조언좀 드립니다.

 

SELECT 

      A.TEST1_ID     --PK

     ,A.NAME         --입고자 이름 

     ,B.IN_YYMMDD    --출고날짜

     ,B.IN_NUMBER    --출고갯수

FROM TEST1 A    

LEFT OUTER JOIN TEST2 B ON A.TEST1_ID = B.TEST1_ID    

UNION ALL

SELECT 

     TEST3_ID       --출고테이블 PK

    ,OUT_NUMBER     --출고갯수  

    ,OUT_YYMMDD     --출고날짜    

    ,'' AS IN_NUMBER

FROM TEST3 

 

결과값 

 

1 제1기 국제조세글러벌역량 2021/02/17 60

1 제1기 국제조세글러벌역량 2021/02/16 40

1 제1기 국제조세글러벌역량 2021/02/18 20

2 제1기 감사실무 2021/02/19 10

3 제2기 감사실무2

1 20 2020/02/18

2 10 2020/02/19

 

 

UNION ALL  이용해서 하면 원하는 화면이 안나와서요

 

결과값이 4행에 나와야 하는데 6개 행이 나와서 문제가 생깁니다.

 

함수를 이용을 해야 생각중인데요 

쿼리 작성 조언좀 부탁드립니다.

 

최종 결과화면은 이렇게 나와야 합니다.

 


첨부 이미지

 

 

그림파일을 보시면

 

입고수량.출고수량이 양옆으로 나오게 화면을 처리해야 합니다.

 

입고수량이 표시되고 출고수량이 표시되어야 합니다.

 

 

함수를 이용을 하는게 맞는것 같은데

함수를 어떤식으로 구현하거나 

 

쿼리상으로 어떤식으로 변경을 하면 쉽게 구현이 되는지 조언좀 드립니다.

by 마농 [2021.02.15 10:21:54]

결과표 그림이 안보입니다.
 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입