다중테이블 쿼리 질문좀드릴게요
본문
다중테이블 쿼리 질문좀드릴게요
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
이걸 원하시는 건가요??
여러가지 방법이 있겠지만,
무난한 방법중의 하나는..
두번 쿼리를 하는 것입니다.
예를 들어,
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' )
의 쿼리로 추출가능합니다.
답변을 작성하시기 전에 로그인 해주세요.