두개의 테이블로는
A, B 두개의 테이블 만 있을 때는
left outer join 으로 해서 isnull(b.cost, a.cost) 로 해서 데이터가 나오게 했었는데요.
관련된 테이블이 하나 더 생겨서....
우선순위가 C > B > A 로 되게 하고 싶습니다.
해당월에 CTable에 데이터가 있으면 C ,
해당월에 CTable에 데이터가 없고, B에 있으면 B,
해당월에 C, B 데이터가 모두 없으면 A 데이터가 나오게 하고 싶은데요.
그럼 어떻게 해야 할까요
A left outer join B left ouer join C 로 걸고...
isnull(isnull(c.cost, b.cost) , acost ) 이렇게 하면 될까요?
세개 중에 우선순위를 줘서 나오게 하는 방법이 있으면 좀 알려주세요.
ATable | BTable | CTable | |||||
YYYYMM | COST | YYYYMM | COST | YYYYMM | COST | ||
2015-01 | 150000 | 2015-01 | 150000 | ||||
2015-02 | 150000 | 2015-02 | 160000 | ||||
2015-03 | 150000 | 2015-03 | 140000 | ||||
2015-04 | 170000 | 2015-04 | 170000 | 2015-04 | 120000 | ||
2015-05 | 170000 | 2015-05 | 170000 | 2015-05 | 170000 | ||
2015-06 | 160500 | 2015-06 | 160500 | ||||
2015-07 | 150000 | 2015-07 | 150000 | ||||
2015-08 | 150000 | 2015-08 | 150000 | ||||
2015-09 | 150000 | 2015-09 | 150000 | ||||
2015-10 | 170000 | ||||||
2015-11 | 170000 | ||||||
2015-12 | 160500 |
https://msdn.microsoft.com/ko-kr/library/ms190349(v=sql.100).aspx
이걸로 한번 해보세요