전체 테이블에서 최대값 가져오는 방법 질문드립니다!!

전체 테이블에서 최대값 가져오는 방법 질문드립니다!!

QA

전체 테이블에서 최대값 가져오는 방법 질문드립니다!!

본문

일전에 한 번 질문 드려셔 답변을 얻었는데 최대값이 안나오더라구요 ㅠ.ㅜ

 

<?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}' ");

 

아 어찌어찌 해결했습니다 ㅠ.ㅜ
그냥 노가다로 테이블을 하나 하나 UNION ALL 을써서 묶어서 MAX(wr_7) 을 주었습니다 ㅠ.ㅜ
혹시 저처럼 방황하실 분들을 위해 참고사항을 더 말씀드리자면,
여분필드가 VARCHAR(255) 로 되어 있어 myadmin 가셔서 필히!!! INT로 바꿔주셔야 MAX로 제대로된 비교값을 찾을 수 있답니다 ㅠ.ㅜ 아무튼 감사합니다!

답변을 작성하시기 전에 로그인 해주세요.
전체 2

회원로그인

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