쿼리문 질문-내가 단 코멘트의 리스트만 갖고 오는 방법 알려주세요.

쿼리문 질문-내가 단 코멘트의 리스트만 갖고 오는 방법 알려주세요.

QA

쿼리문 질문-내가 단 코멘트의 리스트만 갖고 오는 방법 알려주세요.

본문

게시판 디비를 skin 쓰지 않고 직접 갖고 올려고 하거든요.

내가 단 코멘트의 원글들만 리스트형식으로 가져오려 합니다.

조건은요..

한개의 게시물에 코멘트는 회원아이디 당 딱 한번만 달 수 있습니다. 코멘트의 답변, 코멘트의 답변의답변 등은 달수가 없구요. 게시물이 여러개 있으면 각 게시물 당 한번씩만 달수 있습니다.

 


$result = sql_query("
            select * from g4_write_rev1 where wr_id = (select wr_parent from g4_write_rev1 where mb_id='$member[mb_id]' and wr_is_comment='1') and wr_is_comment='0'
           order by wr_datetime
           ");

 

참고로 테이블은 g4 이구요.

단순 무식하게....

이중 쿼리문을 써서 코멘트 작성자의 코멘트 wr_parent와 원글의 wr_id 값이 일치하는 게시물을 쿼리했는데요..

이렇게 하다보니까 서브쿼리가 여러개가 생길 경우, 즉 코멘트를 단 원글 리스트가 1개 이상 있으면 

1242 : Subquery returns more than 1 row

오류가 나네요..ㅠㅠㅠ

 

좀더 쉽게 내가 코멘트 달은 원글만 리스트 형식으로 갖고 오는 방법좀 갈켜주세요..

 

이 질문에 댓글 쓰기 :

답변 3

IN을 사용하면 됩니다


$result = sql_query(" select * from g4_write_rev1 where wr_id IN (select wr_parent from g4_write_rev1 where mb_id='$member[mb_id]' and wr_is_comment='1') and wr_is_comment='0' order by wr_datetime ");

$result = sql_query("select wr_parent from g4_write_rev1 where mb_id='$member[mb_id]' and wr_is_comment='1');
while($row = sql_fetch_array($result) {
   $result2 = sql_query("select * from g4_write_rev1 where wr_id = {$row['wr_parent']} and wr_is_comment='0' order by wr_datetime ");
   while($row2 = sql_fetch_array($result2) {
      echo $row2['wr_subject'].'<br>';
   }
}
            select a.* from g4_write_rev1 a
inner join g4_write_rev1 b on a.wr_id=b.wr_parent and mb_id='$member[mb_id]' where a.wr_is_comment='0'
           order by wr_datetime

답변을 작성하시기 전에 로그인 해주세요.
전체 2,667
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT