제목 | 오라클 DB 쿼리 구문 관련 질문입니다. | ||
---|---|---|---|
글쓴이 | 뫄뫄잉뿌 | 작성시각 | 2015/12/08 09:49:16 |
|
|||
코드이그나이터에서 오라클 DB에 접근하는 쿼리를 작성할 때, $this->db->select('*'); $this->db->from('test'); $this->db->order_by('name','desc'); 이런식으로 깔끔하게 하고 싶은데, 오라클 쿼리중에서 복잡한?쿼리를 날릴때 현재 function com_event_list($mcompany_id,$search_vo){ $query = "select DISTINCT(bbs.EXH_ID), ex.EXH_NM, ex.EXH_TYPE, TO_CHAR(ex.EXH_START_DT, 'YYYY-MM-DD') AS EXH_START_DT, TO_CHAR(ex.EXH_END_DT, 'YYYY-MM-DD') AS EXH_END_DT from LETTNBBS bbs, T_EXHIBITION ex where BBS.MCOMPANY_ID = '".$mcompany_id."' and bbs.BBS_ID IN ('BBSMSTR_BBBBBBBBBBBB','BBSMSTR_CCCCCCCCCCCC') and bbs.USE_AT = 'Y'"; if(!empty($search_vo->exh_id)){ $query .= "and bbs.EXH_ID = '".$search_vo->exh_id."'"; } if(!empty($search_vo->search_year)){ $query .= "and TO_CHAR(ex.EXH_START_DT, 'YYYY') = '".$search_vo->search_year."'"; } $query .= "and bbs.EXH_ID = ex.EXH_ID ORDER BY EXH_START_DT DESC"; return $this->exhibit_db->query($query)->result(); 이와같이 날렸었는데 이런 복잡한 오라클 쿼리를 맨 위처럼 바꾸는 방식이 있나요? |
|||
다음글 | 세션 유지 질문 드립니다. (3) | ||
이전글 | 세션 재 질문 (4) | ||
변종원(웅파)
/
2015/12/08 09:55:22 /
추천
0
올리신 쿼리는 active record로 바꾸는데 아무 문제 없는 쿼리입니다.
|
뫄뫄잉뿌
/
2015/12/08 10:00:52 /
추천
0
그럼 서브쿼리가 많은 이런건 어떻게하나요??
function news_list($search_vo){ $query = "SELECT * FROM ( SELECT rownum rn, TB.* FROM ( SELECT a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE FROM LETTNBBS a LEFT OUTER JOIN COMVNUSERMASTER b ON a.FRST_REGISTER_ID = b.ESNTL_ID WHERE a.BBS_ID = 'BBSMSTR_AAAAAAAAAAAA' and a.USE_AT ='Y' ORDER BY a.SORT_ORDR DESC, NTT_NO ASC ) TB ) WHERE rn > ".$search_vo->first_index." AND rn <= ".$search_vo->first_index." + ".$search_vo->record_count_per_page; return $this->exhibit_db->query($query)->result(); } CI는 처음이라 다른건 괜찬은데 쿼리쪽이 어렵네요 ㅠㅠ 답변감사합니다. |
한대승(불의회상)
/
2015/12/08 10:10:48 /
추천
0
서브쿼리로 되어 있는 부분만 SQL로 기술 하시면 됩니다.
|