다중테이블 쿼리 질문좀드릴게요

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
다중테이블 쿼리 질문좀드릴게요

QA

다중테이블 쿼리 질문좀드릴게요

본문

다중테이블 쿼리 질문좀드릴게요

 

test게시판에서 공지사항인것만 뽑고싶은데.. 테이블2개 동시에하는건 익숙하지않아 어려움이있습니다.

 

test게시판에 wr_is_comment = 0 번인 것을 조건을 주고

g5_board의 test게시판에 bo_notice인것을 조건을 주어서 공지사항인것만 추출하고싶은데

이런경우 어떻게 테이블2개를 작성해야하는지 잘모르겠습니다.

 

제가 했던 방법은

select * FROM test UNION SELECT * FROM  g5_board  where bo_table = 'test' and bo_notice= '$wr_id'

 

도움좀부탁드립니다.

이 질문에 댓글 쓰기 :

답변 3

select * FROM test A

LEFT JOIN g5_board B ON B.bo_notice=A.wr_id

이걸 원하시는 건가요??

답변감사합니다.. 저녁늦게 죄송합니다
해봤는데 test 테이블 모든게시물이 출력되네요..

select * FROM test A LEFT JOIN g5_board B ON B.bo_notice='A.$wr_id'
공지가 달린글은 wr_id=969번이고

test게시판의 wr_is_comment 가 0번이고
g5_board의 게시판의 bo_notice가 969번일때
969 번 게시물만나오게하고싶은데.. 제가 테이블2개를 동시에해본적없어서 잘모르겠습니다
계속 검색해보고있지만 잘풀리질 않고 있네요..

여러가지 방법이 있겠지만,

무난한 방법중의 하나는..

두번 쿼리를 하는 것입니다.

 

예를 들어,

select * from g5_write_test where wr_id in (1,2,3);

은 wr_id 가 1, 2, 3 인 게시글을 가져옵니다.

 

정리하여 다음과 같은 코드를 사용하면 됩니다.


$sql = "select bo_notice from g5_board where bo_table = 'test'";
$row = sql_fetch($sql);
$notice_wr_id = $row['bo_notice']; // ex. 969,970
 
$sql = "select * from g5_write_test where wr_id in (" . $notice_wr_id . ") ";
$result = sql_query($sql)
while($row = sql_fetch_array($result)) {
  echo $row['wr_id'];
  echo $row['wr_subject'];
  echo "<br>";
}

select * from g5_write_test a

where a.wr_id in ( select bo_notice from g5_board b

                        where b.bo_table = 'test' )

 

의 쿼리로 추출가능합니다.

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

회원로그인

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