개발자

SQL에서 조인했을 때 where 조건은 어떻게 넣어야 하나요?

2023년 03월 06일조회 168

안녕하세요, 스타트업에서 일하고 있는 주니어 PM입니다. SQL에 대해 거의 모르고 입사했는데, 막상 입사해 보니 DB에서 데이터를 뽑아볼 일이 생각보다 많아서 어려움을 겪고 있어요 ㅠㅠ 생초보라 답답하실 수 있겠지만 질문 올려 봅니다. 1번 테이블에는 게시글의 id와 제목 정보가 있고, 2번 테이블에는 게시글에 달린 댓글의 id와 내용이 하나씩 쌓이고 있습니다. 제가 알고 싶은 정보는 게시글들의 댓글 개수인데요, 그래서 1번 테이블에 2번 테이블을 outer join하고, 1번 테이블의 id 기준으로 group by 하여 Count(2번테이블.id)를 뽑아내는 방식으로 개수를 세고 있습니다. 그런데 특정 id를 가진 게시글의 댓글 개수를 세고 싶어서 where 1번테이블.id in (~~~~) 줄을 추가했는데 아래와 같은 오류가 뜹니다. 2번 테이블에 있는 속성으로 바꿔 봐도 동일하고요. 오류 없이 특정 id를 가진 게시글만 뽑아 보려면 어떻게 해야 할까요? 그리고 위의 방식에서는 왜 오류가 발생하는 걸까요?? 오류: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE a.id in (~~~)' at line 7

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

인기 답변

삭제된 사용자님의 프로필 사진

삭제된 사용자

2023년 03월 06일

select a.id -- 글 id , count(b.id) -- table b 의 fk 의 수 from(select a.id , a.title , b.id -- table a 와의 FK 값 from table as a left outer join table b on a.id = b.id ) as a where a.id = {id} group by a.id; 모바일로 쓰려니 힘들 군요 ... 데이터 분석 해야 정확한 계산이 되겠지만 ,,, 요런 느낌으로 짜면 될거 같아용~

DKNY김구워용🐳님의 프로필 사진

DKNY김구워용🐳

투어마케팅코리아 IT 기획팀 팀장2023년 03월 07일

where 절이 그룹바이 보다 앞에 나와야 합니다.

profile picture

익명

작성자

2023년 03월 07일

수정 완료 했어용!!!

profile picture

익명

작성자

2023년 03월 08일

남겨주신 방법대로 쿼리 잘 사용했습니다! 너무 감사해요 ㅠㅠ

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!