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개 행이 나와서 문제가 생깁니다.
함수를 이용을 해야 생각중인데요
쿼리 작성 조언좀 부탁드립니다.
최종 결과화면은 이렇게 나와야 합니다.
그림파일을 보시면
입고수량.출고수량이 양옆으로 나오게 화면을 처리해야 합니다.
입고수량이 표시되고 출고수량이 표시되어야 합니다.
함수를 이용을 하는게 맞는것 같은데
함수를 어떤식으로 구현하거나
쿼리상으로 어떤식으로 변경을 하면 쉽게 구현이 되는지 조언좀 드립니다.