안녕하세요 도저히 한쿼리안에 담아내지를 못해서 도움을 청합니다
아래의 두 테이블중 TYPE 은 로그타입을 선언해 놓은 테이블이고, LOG 는 로그데이터가 누적되는 테이블입니다.
특정 TYPE 의 로그데이터를 가져올때 선언된 모든 STYPE 에 대해서 데이터를 가져오고자 합니다.
그런데 선언된 STYPE 대해서 로그데이터가 없더라도 출력하고자 합니다.
select a.STYPE, b.LOGDATA from TYPE a, LOG b where a.TYPE = 1 and b.TYPE = 1 and a.STYPE = b.STYPE(+)
위 형태의 쿼리를 실행하면 아래처럼 STYPE 3,4 의 더미데이터들이 출력이 됩니다.
1, log2
2, log3
2, log4
3, log1
3, log2
4, log3
4, log4
원하는 것은 log 데이터가 없을겨우 3, null / 4, null 같은 하나의 row 만 출력하고 싶은데 어떤 방법이 있을까요?
table TYPE
TYPE |
STYPE |
NAME |
1 |
1 |
Test1-1 |
1 |
2 |
Test1-2 |
1 |
3 |
Test1-3 |
1 |
4 |
Test1-4 |
2 |
3 |
Test2-3 |
2 |
4 |
Test2-4 |
2 |
5 |
Test2-5 |
... |
... |
... |
table LOG
TYPE |
STYPE |
LOGDATA |
1 |
1 |
log1 |
1 |
1 |
log2 |
1 |
2 |
log3 |
1 |
2 |
log4 |
... |
.....
|
..... |
|