$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개 / 댓글 1개
다중게시판을 참조할때는
현재 보드의 이름이 항상 키값으로 유지되는게 중요합니다.
게시판의 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);
}
이렇게 해서 필요한 필드를 접근하시면 될것같네요
답변에 대한 댓글 1개
검색 키워드, mysql 다중 테이블 조인 이나 mysql 다중 테이블 쿼리 등으로 구글링 하시면 참조하실만한 관련 자료들이 많이 나옵니다.
답변을 작성하려면 로그인이 필요합니다.