문제점
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;
'프로젝트 정리 > 지역기반 모임 서비스' 카테고리의 다른 글
Carousel with card n * n 해결 (0) | 2023.02.13 |
---|---|
검색 및 pagination에 동적 쿼리 사용해보기 (0) | 2023.02.13 |
이미지 업로드 직후 업로드한 이미지가 보이지 않는 상황 해결 (0) | 2023.02.13 |