채택완료

코멘트작성시 상위부모들과 글쓴이만 GROUP BY mb_id 로 쿼리방법을 도와주시면 감사하겠습니다.

2018-03-27 (화) 10:08:09 2,770

안녕하세요?

푸시문제로 쿼리를 작성해야하는데..  도저히 방법이 떠올르지않아 도움을 구하고자 글을 올립니다.

3732293504_1522112499.6968.png

파란색 화살표 닉네임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 만 알파벳으로 되있어서..  이걸 필터링 잘해야될것같은데..

혹시몰라도 디비내용도 첨부합니다.

3732293504_1522112866.7743.png

도와주시면 감사하겠습니다. 좋은하루되세요!

|

답변 3개 / 댓글 4개

채택된 답변
+20 포인트

쿼리로 하기에는 조금 무리가 있어 보이네요

뭐 할려면 재귀쿼리를 이용해서 댓글의 단계별로 할수는 있지만 너무 복잡해지는 단점이 있습니다.

제 추천은

말씀하신 쿼리에서 wr_comment_reply 를 가지고 php 에서 걸러내는 방법이 좋을것 같네요

ABAA 일때는 ABA 는 ok ABB 는 nok 로 거르는 방법이요

답변에 대한 댓글 2개

2018-03-27 (화) 11:27:19
감사합니다. 말씀하신 wr_comment_reply 아이디어를 착안해서
ABC 일때 , 'A','AB','ABC' 로 IN쿼리해서 하는걸로 임시해결하였습니다.
2018-03-27 (화) 12:25:22
감사합니다. 이렇게 알짜정보를 주시고.. IN쿼리 부담될줄알았는데 그건 아닌가보군요.
어차피 그누보드 시스템상 복잡한 코멘트라 해봤자 몇십개도 안될테니..
돈많이버세요

원하는 기능이 최종댓글달린 글과

원글에 push를 하고 싶으신건가요?

불필요한 글을 제거하는건  exists 로 제거혹은 포함 하는게 더 낫습니다.

수행속도도 빠르구요

답변에 대한 댓글 1개

2018-03-27 (화) 12:30:19
도움을 주셔서 감사드립니다.
파란색 화살표가 글을 달았을때 빨간 멤버들 과 원글에 푸시를 보내는방식을원합니다.
즉 코멘트를 단 자신을 제외하고 , 부모코멘트들과 원글 멤버들에게 보내는것을요.

불필요한 이부분은 MYSQL 관련 코드를 말씀하시는건지 잘은몰르겠지만..
한번 알아봐야겠네요.점심맛나게드세요
2018-03-27 (화) 11:22:04

3732293504_1522117252.0154.png

나시님의 걸러내는 문장을 아이디어기반으로 in 으로 해결했습니다. 감사합니다.

IN  쿼리속도가 어느정도인진 몰르겠지만 일단 임시해결방편으로..

답변에 대한 댓글 1개

어익후...
저보다 한수 위인듯 한데요 ^^

참고로 NOT IN 은 극악의 효율이지만 IN 은 AND, OR 조합이니까 크게 문제 없다고 알고 있습니다.

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