CI 묻고 답하기

제목 where in 액티브 레코드 질문 드려요
글쓴이 작돌이 작성시각 2011/01/28 17:04:33
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 28403   RSS
where_in 사용 법 문제인데요

SELECT *
FROM community_board A
WHERE A.idx in (SELECT B.board_idx FROM scrap B WHERE B.table = 1);

위 쿼리를 어떻게 액티브레코드로 사용할수 있을까요?

환경은 mysql 입니다.



 
 다음글 upload 클래스에서 확장자 대소문자를 소문자로 변경... (2)
 이전글 자문자답) png8, gifs 그래픽 검은 배경... ... (1)

댓글

작돌이 / 2011/01/28 17:35:48 / 추천 0
작돌이 / 2011/01/28 18:20:48 / 추천 0
SELECT * FROM (`COMMUNITY_BOARD`) WHERE `idx` IN ('SELECT `board_idx`\nFROM (`SCRAP`)\nWHERE `member_id` = \'member_id\'\nORDER BY `reg_date` desc') LIMIT 10
까지 했는데
where in ( ' ' )
이부분에서 ' 표를 없애는 방법을 모르겠네요. ㅎㅎ
도와주세요.
 
작돌이 / 2011/01/28 18:23:02 / 추천 0
$this->db->select('board_idx');
$this->db->from($table);
$this->db->where('member_id', $member_id);
$this->db->order_by('reg_date', 'desc');
$subquery = $this->db->_compile_select();

$this->db->_reset_select();

$this->db->from($sub_table);
$this->db->where_in('idx', $subquery, FALSE);

$this->db->limit($limit);
$this->db->offset($offset);
$query = $this->db->get();

$result = $query->result_array();

까지 코딩했어요. 
작돌이 / 2011/01/28 18:42:50 / 추천 0
우선은 작동 되게끔 하려고
$subquery = "SELECT BOARD_IDX FROM `$table` WHERE MEMBER_ID = '$member_id' ORDER BY REG_DATE DESC";
$query = $this->db->query("SELECT * FROM `$sub_table` WHERE IDX IN ($subquery) LIMIT $offset, $limit");

 해버렸습니다.

혹시라도 참고 하실 분 계실까봐 댓글 남겼어요 ㅎㅎ