기초적인 질문드립니다. 고유키 만들기? 3

by minmin [SQL Query] [2022.04.03 20:52:33]


안녕하세요. 오라클 오렌지를 사용하고 있습니다.

아래와 같이 ID, gubun을 이용해서 new_id라는 고유키를 만들려고 하는데,

쉬운 방법있을까요?

어쩌다보니 SQL 독학으로 더듬더듬 배워, 현업에서 바로 사용하고 있는 상황인지라 어려움이 많네요.  

ID gubun new_id
158 1 158A
158 3 158B
158 4 158C
187 2 187A
187 3 187B
143 5 143A
195 5 195D
195 3 195B
195 6 195E
195 7 195F
195 2 195A
195 4 195C
166 4 166B
166 3 166A
111 3 111A
154 6 154C
154 2 154A
154 5 154B
132 3 132B
132 1 132A

지금까지 생각한건 row_number( ) over(partition by id order by id, gubun) 을 이용해서 id, gubun별로 연번을 넘버링을 하고

그 넘버링을 한 연번을 문자형태로 변경한 다음, replace로 연번을 알파벳으로 바꾸는 거를 생각해봤습니다.

이게 최선일까요?

 

 

by 마농 [2022.04.04 10:21:26]
-- A 의 ASCII 코드가 65 입니다. B 는 66.
-- ASCII 코드를 문자로 변경하는 함수 CHR 를 이용하세요.
, id || CHR(64 + ROW_NUMBER() OVER(PARTITION BY id ORDER BY gubun)) new_id

 


by 우리집아찌 [2022.04.04 13:48:05]

태이블 생성시 pk가 존재라면 그걸 활용하시는개 좋지 않나요? 없으시면 생성해야 겠지요


by minmin [2022.04.05 01:04:20]

두 분 모두 답글 감사합니다!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입