SQL 호출 질문입니다..

SQL 호출 질문입니다..

QA

SQL 호출 질문입니다..

본문

3개의 필드에서 중복값을 제외하고 나열하려고하는데

1개의 필드값(1반)은 구하겠는데 3개를 어떻게 합쳐야하나 해서요...

  1반 2반 3반    
  김철수 박철수 박철수    
  홍길동 박길동 김민희    
  김민희 박민희 김철수    
  김철수 박철수 김민희    
           
결과: 김철수 홍길동 김민희 박철수 박길동 박민희

<?php
$sql_admin_custom = "SELECT * FROM g5_write_coin GROUP BY 1반";
$res_admin_custom = sql_query($sql_admin_custom);
for ($i=0; $row=sql_fetch_array($res_admin_custom); $i++) {
    echo $row['1반'].'<br>';
}
?>

조언이나 도움부탁드립니다 ㅠ

이 질문에 댓글 쓰기 :

답변 2


<?php
$arr = array();
$sql = "SELECT * FROM g5_write_coin GROUP BY 1반";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
    $arr[] = $row['1반'];
    $arr[] = $row['2반'];
    $arr[] = $row['3반'];
}
$arr2 = array_unique($arr);
for ($i = 0, $cnt = count($arr2); $i < $cnt; $i++) {
    echo $arr[$i];
}
?>

array_unique($arr);를 하면
아하 따로 group by를 할 필요가 없나 보군요!
위처럼 진행했는데
잘되지 않아 추가적으로 ㅠ

1. 중복값들이 나오고 누락값들이 나오드라구요..
2.  echo $arr[$i].'='; 찍어보니
김철수=홍길동=====김철수=박철수=박길동=김철수=====
이런식으로 나오네요 ㅠ

제가 다시 한번 고쳐볼게요 감사합니다!

(정정)
$arr2 = array_unique($arr);
for ($i = 0, $cnt = count($arr2); $i < $cnt; $i++) {
    echo $arr[$i];
}
->
$arr2 = array_unique($arr);
for ($i = 0, $cnt = count($arr2); $i < $cnt; $i++) {
    echo $arr2[$i];
}

입니다. 중복제거한 값 $arr2

답변을 작성하시기 전에 로그인 해주세요.
전체 720
QA 내용 검색
filter #sql ×

회원로그인

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