안녕하세요.
다음과 같은 테이블이 있습니다.
품목에 대한 시세이력을 가지고 있는 테이블 A
ID |
SEQ |
시세 |
A001 |
1 |
1000 |
A001 |
2 |
999 |
A001 |
3 |
900 |
B001 |
1 |
500 |
B001 |
2 |
550 |
C001 |
1 |
750 |
현재시세테이블 B
ID |
NAME |
시세 |
A001 |
AAAA |
950 |
B001 |
BBBB |
550 |
C001 |
CCCC |
700 |
위 2개의 테이블을 가지고 다음과 같은 결과를 가져오려고 합니다.
ID |
NAME |
과거시세 |
현재시세 |
시세차이 |
A001 |
AAAA |
900 |
950 |
Y |
B001 |
BBBB |
550 |
550 |
N |
C001 |
CCCC |
750 |
700 |
Y |
이럴때
SELECT A.ID, A.NAME, (SELECT 시세 FROM B WHERE SEQ = (SELECT MAX(SEQ) FROM B WHERE ID = 'A001')) AS 과거시세, A.시세 AS 현재시세
, (CASE WHEN (SELECT 시세 FROM B WHERE SEQ = (SELECT MAX(SEQ) FROM B WHERE ID = 'A001')) <> A.시세 THEN 'Y' ELSE 'N' END) AS 시세차이
FROM A A
WHERE A.ID = 'A001'
이렇게해도 될까요?
또 (CASE WHEN (SELECT 시세 FROM B WHERE SEQ = (SELECT MAX(SEQ) FROM B WHERE ID = 'A001')) <> A.시세 THEN 'Y' ELSE 'N' END) 으로 조건절에 넣어서 사용하려고 합니다.
결과는 나오는데 데이터가 점점 많이 들어나는 테이블이라서 조언을 듣고 싶습니다.
|