코멘트작성시 상위부모들과 글쓴이만 GROUP BY mb_id 로 쿼리방법을 도와주시면 감사하겠습니다.
본문
안녕하세요?
푸시문제로 쿼리를 작성해야하는데.. 도저히 방법이 떠올르지않아 도움을 구하고자 글을 올립니다.
파란색 화살표 닉네임bbb가 글을 남기면 코멘트 작성자를 제외한 상위부모들 (빨간동그라미) 와 글쓴이를 GROUP BY mb_id 로 중복을 제거해서 해당되는 행들을 구하고싶은데요..
쿼리가 가능한지 몰르겠습니다..
SELECT * FROM {$bo_table} WHERE wr_num={$wr_num} AND wr_parent={$wr_parent} AND wr_comment={$wr_comment} AND mb_id!='{$send_mb_id}' GROUP BY mb_id";
이렇게까지 작성하면.. 코멘트의 형제요소까지 같이 검색되버려서.. 제의도가 안맞더라구요..
wr_num , wr_parent , wr_comment 가 동일하고 ,
mb_id!=글쓴이 이렇게해서 코멘트 작성자는 제외하고,
GROUP BY mb_id 로 검색된 행의 멤버들이 중첩을 방지하고..
유일하게 wr_comment_reply 만 알파벳으로 되있어서.. 이걸 필터링 잘해야될것같은데..
혹시몰라도 디비내용도 첨부합니다.
도와주시면 감사하겠습니다. 좋은하루되세요!
답변 3
쿼리로 하기에는 조금 무리가 있어 보이네요
뭐 할려면 재귀쿼리를 이용해서 댓글의 단계별로 할수는 있지만 너무 복잡해지는 단점이 있습니다.
제 추천은
말씀하신 쿼리에서 wr_comment_reply 를 가지고 php 에서 걸러내는 방법이 좋을것 같네요
ABAA 일때는 ABA 는 ok ABB 는 nok 로 거르는 방법이요
원하는 기능이 최종댓글달린 글과
원글에 push를 하고 싶으신건가요?
불필요한 글을 제거하는건 exists 로 제거혹은 포함 하는게 더 낫습니다.
수행속도도 빠르구요