안녕하십니까 고수님들~!

쿼리  질문올립니다 ㅎ


책을 열심히 보고 있는데 나이가 들어서 배우는 중이라 코딩을 새로하는 것이 참 어렵습니다.


쿼리문 작성 가이드 좀 여쭤보려고 문의드립니다 ㅠ


아래와 같은 테이블 "X"가 있다고 가정을 하고,


테이블 : X


IDDX1DX2SEQOUT
1AB11
1AB12
1AB21
1AB22
1BC31
1D41
2AD51
2E61
2BA71
2AC82
2AC82
3BC91
3D101
3D102
3D103
4EF111
4EC121
4G132
4G133
5BF141
5BD151
5BD152
6EF161
6EG171


쿼리문을 실행 후 아래와 같은 결과를 얻고 싶습니다.


테이블 : Y


IDNO_ABNO_C
121
231
311
401
520
600


원했던 조건을 말씀드리면,


1. ID행의 중복을 없애고, 하나의 ID행만을 가지는 테이블 Y를 새로 만들고자 하며,


2. 해당 ID에서 DX1 또는 DX2 열에서 A 또는 B값이 있을 경우 테이블 Y에 새로운 열인 N0_AB에 0부터 시작하여 1씩 증가시키려고 합니다. 단, SEQ값이 변할 때만 1씩 증가시키고자 합니다 (테이블 X의 이전 행에서의 SEQ값이 동일할 때는 카운팅을 유지).  테이블 Y의 ID 1,2,3,5 경우


3. 해당 ID에서 DX1 또는 DX2 열에서 C값이 있을 경우, 마찬가지로 테이블 Y에 새로운 열인 N0_C에 0부터 시작하여 1씩 증가시키려고 합니다. 단, SEQ값이 변할 때만 1씩 증가시키고자 합니다 (테이블 X의 이전 행에서의 SEQ값이 동일할 때는 카운팅을 유지).   ---> 테이블 Y의 ID 1,2,3,4의 경우


4. 테이블 X의 DX1 또는 DX2에  A,B,C에 해당하는 것이 없을 때는 해당 ID의 N0_AB와 N0_C의 열의 값을 O으로 둡니다. ---> 테이블 Y의 ID 6 경우


조금 복잡하긴 합니다만, IF 문 재귀문 해 봐도 영 이상하게 결과가 나와서 고수님들의 도움을 좀 구하고자 질문드립니다. 복잡해서 답을 주시기 어려우시면 가이드라인이라도 주시면 너무 감사하겠습니다~!

도와주셔요 ㅠ