프로젝트 정리/지역기반 모임 서비스
내가 속한 모임 가져오는 쿼리와 내가 속하지 않은 모임 가져오는 쿼리
JunGi Jeong
2023. 1. 31. 18:04
문제점
Gather라는 테이블에서 u_id가 포함됐는지 여부로
내가 속한 모임과 그렇지 않은 모임에 해당하는 데이터를 가져와야 하는 상황이다.
유저 정보로 해당 회원이 생성한 모임이나 참가한 모임정보를 가져오는 쿼리
유저 정보(nickname)로 pk인 u_id를 select하고 select한 u_id가 포함되지 않는 일정 정보를 가져오는 쿼리
해당 일정 정보는 현재 시간보다 늦은 모임이어야 하고 지역 정보와 카테고리 정보가 변수와 같아야 한다.
다음 쿼리를 사용해서 해결하였다.
select * from gather g
RIGHT join chatting c on g.g_id = c.gather_g_id
where c.user_u_id = (select u_id from user where nickname = '블리츠크랭크')
and g.enddate > now()
and g.l_id = 20
and g.c_id = 150
order by g.g_id desc;
select * from gather where g_id
NOT IN (select gather_g_id from chatting
where user_u_id = (select u_id from user where nickname = '블리츠크랭크'))
and enddate > now()
and c_id = 22
and l_id = 1
order by g_id desc;