쿼리 실행할떄 다중 게시판
본문
$sql = " select wr_id from g5_write_lab where wr_subject IN(
select wr_subject from g5_write_lab group by wr_subject HAVING COUNT(*) > 1
) and wr_is_comment = '0' order by wr_datetime > date_sub(now(), interval 1 day) ";
-----------------------------------------------------------------
형님들 쿼리 실행할때 게시판을 한번에 여러개 쓸수 없을까요
예) g5_write_lab , g5_write_lab2 , g5_write_lab3
array 까지는 생각을 해냈는데 계속 실패중입니다
답변 2
다중게시판을 참조할때는
현재 보드의 이름이 항상 키값으로 유지되는게 중요합니다.
게시판의 wr_id 는 어떤 게시판이든 기본키로 존재해서
bo_table 명이 없이 접근할경우
어느 게시물인지 알수 없죠
이런것을 방지하기위해선
g5_board 테이블과 엮어서 보여주는게 중요하겠죠
하지만 1:1 join이 어려운 구조라서,
PHP 구문을 활용하는게 좋습니다.
$sql = "select * from g5_board ";
$result = sql_query($sql);
$unionsql = "";
while ($row = sql_fetch_array($result)) {
if ($unionsql) $unionsql .= " union all ";
$unionsql = "select '{$row['bo_table']}' bo_table, a.* from g5_write_".$row['bo_table']." ";
//맨뒤에 여백이 필요합니다.
}
위에서 다 합쳐진 쿼리를
다시 접근합니다.
$result2 = sql_query($unionsql);
while ($row2 = sql_fetch_array($result2)) {
print_r ($row2);
}
이렇게 해서 필요한 필드를 접근하시면 될것같네요
검색 키워드, mysql 다중 테이블 조인 이나 mysql 다중 테이블 쿼리 등으로 구글링 하시면 참조하실만한 관련 자료들이 많이 나옵니다.