테스트 사이트 - 개발 중인 베타 버전입니다

join문 쿼리 질문입니다. 채택완료

스니음 5년 전 조회 2,333

예를 들어 회원 리스트 멤버중에 today 이라는 게시판에 오늘 글을 작성 안한 사람 리스트를

 

뽑을려고 합니다.

 

select * from g5_member A, g5_write_today B

where A.mb_id = B.mb_id and A.mb_level ='3' and B.wr_datetime like '2020-08-28%' 

 

이렇게 해서 오늘 글 작성한 사람을 뽑을수는 있는데 이 반대로 글을 작성 안한 사람 리스트를 

 

뽑을려고 하면 어떻게 해야 하나요?

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
스니음1
5년 전

and NOT EXISTS (SELECT * FROM g5_write_today as B WHERE A.mb_id = B.mb_id and B.wr_datetime like '$fr_date%' )

조건문에 이거 추가로 했습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

5년 전

select A.mb_id

from g5_member A

   left join g5_write_today B on A.mb_id = B.mb_id

where A.mb_level ='3' and B.wr_datetime like '2020-08-28%'

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

스니음
5년 전
제가 원하는건 예를 들어 100명의 회원이 있고, 오늘 게시판에 글을 작성한 사람이 3명 이라면 안 쓴 사람 97명의 정보가 필요합니다.
가르쳐 주신걸로는 안 나옵니다. 뭐가 문제 일까요?
백수1995
5년 전
지금 상태로는 뭐가 나오는지 정확히 모르겠지만
left 를 right 로 바꿔서 해보세요 ^^

select A.mb_id
from g5_member A
right join g5_write_today B on A.mb_id = B.mb_id
where A.mb_level ='3' and B.wr_datetime like '2020-08-28%'
스니음
5년 전
그럼 다 나옵니다. 글 쓴 사람도 나와요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인