본문 바로가기
DBMS/oracle

같은 정보를 가진 내용을 하나만 찍을때 - join 문 활용

by 코디드 2023. 4. 27.

게시판에 공통된 정보를 갖고 있는 글제목 하나를 찍으려고 하는데

 

select op.off_j_no, og.off_no, og.off_subject, og.userid, r.username, og.location, 
to_char(og.app_time, 'YY-MM-DD HH:MI') app_time, to_char(og.deaddate, 'YY-MM-DD HH:MI') deaddate, 
og.status, og.group_num, og.current_num  
from off_participant op join off_gb og on op.off_no=og.off_no
join registerinfo r on og.userid=r.userid
order by off_no desc;

 

쿼리문을 위와 같이 작성하니 아래와 같이 3개의 결과물이 나왔다.

 

 

from off_participant op join off_gb og on op.off_no=og.off_no

 

위와 같이 op와 og에서 off_no가 같은 것을 전부 도출되게 설정해놔서 생긴 문제였다.

 

 

 

 

 

select op.off_j_no, og.off_no, og.off_subject, og.userid, r.username, og.location, 
to_char(og.app_time, 'YY-MM-DD HH:MI') app_time, to_char(og.deaddate, 'YY-MM-DD HH:MI') deaddate, 
og.status, og.group_num, og.current_num 
from off_gb og  join  (select * from off_participant) op on og.off_no=op.off_j_no
join registerinfo r on og.userid=r.userid
order by off_no desc;

 

 

그래서 이렇게 수정을 하니 아래와 같이 하나만 나왔다.

 

 

 

from off_gb og  join  (select * from off_participant) op on og.off_no=op.off_j_no

 

op의 off_j_no와 og의 off_no가 같은 값만 나오게 설정해주니 문제가 해결되었다.