전체 테이블에서 최대값 가져오는 방법 질문드립니다!!
본문
일전에 한 번 질문 드려셔 답변을 얻었는데 최대값이 안나오더라구요 ㅠ.ㅜ
<?php
$sql = "select * from g5_board ";
$result = sql_fetch($sql);
$sql2 = "";
while($row = sql_fetch_array($result)) {
if ($sql2) $sql2 .= "union all ";
$sql2 .= "select max(wr_7) maxwr7, {$row[bo_table]} tablename from g5_write_{$row[bo_table]} ";
}
$result2 = sql_query($sql2);
while($row2 = sql_fetch_array($result2)) {
echo $row2[maxwr7];
}
echo $row2[maxwr7].$write_table;
$iden_num_set = $row2[maxwr7]+1;
sql_query(" update {$write_table} set wr_7='{$iden_num_set}' where wr_id='{$wr_id}' ");
echo "<b>"."고유번호: ".$view['wr_7']."</b>"; ?>
요약하자면 모든테이블의 여분필드 wr_7 의 값 중에 최대값을 가져와서 현재 테이블의 wr_7에
집어넣는 과정인데 위와 같이 해도 안되서 답답한 마음에 여기에 해결책을 다시 구해봅니다.
도와주십시요! ㅜ.ㅠ
답변 1
$max=0;
$sql = "select * from g5_board ";
$result = sql_fetch($sql);
$sql2 = "";
while($row = sql_fetch_array($result)) {
if ($sql2) $sql2 .= "union all ";
$sql2 .= "select max(wr_7) maxwr7, {$row[bo_table]} tablename from g5_write_{$row[bo_table]} ";
}
if($sql2){
$sql3=select max(maxwr7) as maxwr7 from ( $sql2 ) as a
$row3=sql_fetch($sql3);
$max=$row3[maxwr7];
}
echo $max;
$iden_num_set = $max+1;
sql_query(" update {$write_table} set wr_7='{$iden_num_set}' where wr_id='{$wr_id}' ");