A,B, table 이 있습니다. A와 B가 1:N 관계 이고
A가 다음과 같고
no | name | content |
1 | 안녕1 | v1.0 |
2 | 안녕2 | v1.1 |
B가 다음과 같을 때
no | a.no | name | source | address | message |
1 | 1 | a1 | a1 | aa1 | m1 |
2 | 1 | a2 | a2 | aa2 | m2 |
3 | 1 | a3 | a3 | aa3 | m3 |
4 | 1 | a4 | a4 | aa4 | m4 |
5 | 2 | a1 | a11 | aa1 | m1 |
6 | 2 | a2 | a22 | aa2 | m2 |
7 | 2 | a3 | a33 | aa33 | m3 |
8 | 2 | a4 | a44 | aa4 | m4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C역시 b와 1:n의 관계의 table 입니다.
우선 b의 변경이 있는지는를 쿼리로 알아 낼 수 있을까요?
B table을 보면 no5 일때 a.no=1 이고 source 가 a1 에서 a11으로 변경되었습니다. 이런내용을 조회하는 쿼리가 필요하네요
단순히 최종버전과 최종버전의 바로 전 버전을 비교하고자 하신다면..
SELECT *
FROM (SELECT *
FROM b
WHERE a.no = (SELECT MAX (no) FROM a)) tab1, --최종버전
(SELECT *
FROM b
WHERE a.no = (SELECT MAX (no) - 1 FROM a)) tab2 --최종바로전 버전
WHERE tab1.name = tab2.name --조인
AND tab1.source <> tab2.source --변경여부 확인
이렇게 짜보시는건..어떠신지..^^;;