SQL문 질문 입니다.

SQL문 질문 입니다.

QA

SQL문 질문 입니다.

본문

아래 쿼리문으로 테이블에서 강사명(시설명)(rm_ix)과 강의시작시간 정보를 가져와서 테이블에 표시 해주려고 합니다.

그런데 시간순으로 정렬 안됩니다.ㅠ.ㅠ

혹시 뭐가 잘못되었는지 알려 주시면 감사 하겠습니다.

rm_ix는 강사명이고 위의 time테이블에서 날자와 시간정보를 가져와 정렬해야하는데 예를들어
A강사와 B강사가 있고 강의시간이 A강사의 강의시간이 10시-11시 16시-17시 이고 B강사의
강의시간이 14시-15시라면
주간일정표의 날자에는
===============
A강사  10시-11시
B강사  14시-15시
A강사  16시-17시
===============
이러케 출력되야 하는데
===============
A강사  10시-11시
A강사  16시-17시
B강사  14시-15시
===============
식으로 출력됩니다....뭐를 잘못한걸까요? 고견 부탁 드리겠습니다. 꾸벅~

아래는 테이블과 코드입니다.

2582627467_1679991694.6289.png


// 시간정보
    $query2 = " select DATE_FORMAT(rmt_time, '%H:%i') AS time_only,rmt_ix, rmt_time_end, rmt_max_cnt, rmt_date  from {$g5['wzb_room_time_table']} where rm_ix = '".$row['rm_ix']."' and  (rmt_date between '".$sch_date_fr."' and '".$sch_date_to."') order by time_only asc";
    $res2 = sql_query($query2);
    while($row2 = sql_fetch_array($res2)) {
        $row['rmt_ix'] = $row2['rmt_ix'];
        $row['frtime'] = $row2['time_only'];
        $row['totime'] = $row2['rmt_time_end'];
        $row['max_cnt'] = $row2['rmt_max_cnt'];
        $arr_room[$row2['rmt_date']][$row2['time_only']][] = $row;
    }
    

이 질문에 댓글 쓰기 :

답변 3

데이터() 출력하는 부분 소스도 올려 보시겠어요.

아니면 while loop다음에

Print_r( $arr_room);

해서 순서를 확인해 보세요.

일단 order by 에서는 DATE_FORMAT 적용된 alias를 쓰실 필요 없을거 같고요

쿼리만 보았을 땐 날짜값 범위만 있고 정렬 기준은 없어보이는데 between 날짜값에 30일 하루만 넣어도 결과가 같으신가요?

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

회원로그인

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