제목 | 액티브 레코드 where에 관해서 | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 주말생각 | 작성시각 | 2020/12/24 12:02:21 |
|
|||
현제 CI 3을 사용 중이고 액티브 레코드를 활용해서 쿼리문을 만들던 중에 난관에 봉착하여 질문드립니다. 액티브 레코드의 조인 기능을 활용해서 3개의 테이블을 연결 하는 쿼리문을 만들고 있습니다. 아래는 그 코드 입니다. $this->db->select("각 컬럼들"); $this->db->from('테이블01'); $this->db->join('테이블02, '테이블02.키1 = 테이블02.키1'); $this->db->join('테이블03', '테이블01.키1 = 테이블03.키1'); $this->db->where('테이블02.a2date', 검색할 날짜); $this->db->or_where('테이블03.a3date', 검색할 날짜); $this->db->group_by("그룹 바이의 컬럼"); $this->db->order_by("정렬용 컬럼", "desc"); $query = $this->db->get();
라스트 쿼리로 완성된 쿼리문을 보니 SELECT 컬럼들 FROM 테이블01 JOIN 테이블02 ON 테이블01.키 = 테이블02.키 JOIN 테이블03 ON 테이블01.키 = 테이블03.키 WHERE 테이블02.a2date = '2020-12-22' OR 테이블03.a3date = '2020-12-22' GROUP BY 그룹바이 컬럼들 ORDER BY 정렬할 컬럼 desc 이렇게 나오는데 원하는 값을 출력하려면 아래와 같은 쿼리문이 되어야 하는데 현재 방법을 모르겠습니다. SELECT 컬럼들 FROM 테이블01 JOIN 테이블02 ON 테이블01.키 = 테이블02.키 JOIN 테이블03 ON 테이블01.키 = 테이블03.키 AND 테이블02.a2date = '2020-12-22' OR 테이블03.a3date = '2020-12-22' GROUP BY 그룹바이 컬럼들 ORDER BY 정렬할 컬럼 desc |
|||
다음글 | 긴급입니다 코드이그나이터를 보안 문제 관련입니다. (3) | ||
이전글 | 서버이전중에 db문제인듯한 1305에러입니다..ㅠㅠ (1) | ||
PureAni
/
2020/12/24 12:09:45 /
추천
0
where 값을 join 에 넣겠다는거 맞나요?
|
변종원(웅파)
/
2020/12/24 13:01:53 /
추천
0
저는 조금이라도 복잡해질 가능성이 있는 쿼리는 그냥 sql문으로 작성해서 작업합니다. insert, update, delete는 AR로 사용. |
주말생각
/
2020/12/24 13:06:35 /
추천
0
@PureAni where 값을 join 에 넣겠다는거 맞나요? -> 말씀이 잘 이해가 되지 않는데, 3개의 테이블을 조인하고 테이블02.a2date = '2020-12-22' OR 테이블03.a3date = '2020-12-22'란 조건으로 검색을 하려고 합니다. |
한대승(불의회상)
/
2020/12/24 13:21:41 /
추천
0
복잡한 쿼리는 웅파님 의견에 동의합니다.
|
주말생각
/
2020/12/25 13:41:01 /
추천
0
답변 감사합니다.
|