반복문 안에서 계속 쿼리를 걸어야 할 때

조회수 985회

A, B 두개의 테이블이 있습니다.
A는 게시글이고, B는 게시글에 대한 댓글입니다.

일반적인 게시판 처럼 글 목록이 출력을 하는데, 아래와 같이 각 글 목록 하위로 댓글 목록도 함께 출력하려고합니다.
글 목록 안에서 계속 댓글 목록을 갖고 오는 쿼리를 돌리는 것은 아닌 것 같아서요.
이렇게 하려는 경우 어떤 방법이 맞을지 질문 드립니다.

1 글 제목

        댓글 1번 내용 
        댓글 2번 내용 

2 글 제목 

        댓글 1번 내용 
        댓글 2번 내용 

3 글 제목 

        댓글 1번 내용 
        댓글 2번 내용
  • 질문이 정확히 뭔가요? 튜닝된 쿼리문을 원하시는 건가요 애플리케이션 설계 아이디어를 원하시는 건가요? 엽토군 2018.12.26 23:51
  • 지금 짜 놓은 코드는 반복문 안에서 계속 셀렉트를 거는 쿼리가 돌고 있어서요. 다른 좋은 방법이 있을까해서요. 알 수 없는 사용자 2018.12.27 00:02

1 답변

  • 음.. 그냥 JOIN 하고 적당히 리미트 걸어서 다 가져온 다음에 적절히 나눠 쓰면 안되나요?

    SELECT `p`.*, `c`.`id` as `cid`, `c`.`body` as `comment`
    FROM `post` AS `p`
      LEFT JOIN `comment` AS `c` ON (`p`.`id` = `c`.`post_id`)
    LIMIT 50;
    

    데모

    • 아! 너무 친절한 답변 감사합니다. 말씀하신 것 처럼 저런 구조로 적절히 나눠서 쓰면 될 것 같은데요, 문제는 댓글이 없는 글이 출력이 안되는데 그걸 해결해야겠네요... 알 수 없는 사용자 2018.12.27 16:29
    • 조인을 거는 것은 맞지 않는 방법인 것 같아, 댓글 목록들을 따로 가져와 배열에 모두 담고 각글에 맞는 데이터를 뿌려주는 방식으로하여 해결했습니다. 감사합니다. 알 수 없는 사용자 2018.12.29 09:51

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

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)