CI 묻고 답하기

제목 복잡한쿼리실행..> 쿼리 방법을 바꿨는데 접두어가 붙어요.ㅜ,.ㅜ
카테고리 CI 4 관련
글쓴이 코the초보 작성시각 2020/02/10 08:52:00
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 12087   RSS

회원정보 | 1월결제금액 | 결제총액

 

데이터를 이렇게 뽑아와야해서 쿼리를 만들었습니다.

$queryStr = "select memberid, cost, sumcost

form ( select memberid, cost from ex_member where mon = '1' ) A,

(select sum(cost), memberid from ex_member ) B

where A.memberid = B.memberid

";

이런쿼리를 만들어야 하는데 

return $this->db->query($queryStr)->result_array();

로 실행시키면 한글이 다 깨져버려서 

아래와 같이 바꿔봤어요..

 

$ Q1 = "select memberid, cost from ex_member where mon = '1' ";

$ Q2  = "select sum(cost), memberid from ex_member";

$this->db->select("select memberid, cost, sumcost FROM (" .$Q1. ") as A, ( ".$Q2.") as B" );

 그런데 이번엔 쿼리 앞에 접두어 붙어두게 해둔것이 붙어서 나오네요..

 

select ex_memberid, ex_cost, ex_sumcost

form ( select ex_memberid, ex_cost from ex_member where mon = '1' ) A,

(select sum(cost), ex_memberid from ex_member ) B

where A.memberid = B.memberid

 

이렇게요... ㅠ.,ㅠ

접두어 안붙게 하려면 어떻게 해야하나요?

protect_identifiers 이 옵션이 있길래

$this->db->protect_identifiers('ex_member', FALSE);

이렇게 해봤는데 안먹히네요.

 

 

쿼리는 만들어놨는데 화면에 뿌리지 못하니 미치겠네요...

삼일째 고민하고 있습니다.

도와주세요...

 다음글 코드이그나이터 ftp이용하여 업로드시 이미지가 깨져서 ... (1)
 이전글 view에서 Unity WebGL 연동이 가능한가요? (2)

댓글

한대승(불의회상) / 2020/02/10 09:59:37 / 추천 0
문자셋과 인코딩 확인해 보세요.
코the초보 / 2020/02/10 12:22:59 / 추천 0
페이지 하나에 구분값넘겨서 사용하는데 이 쿼리 날릴때만 안되고 있어요.. from 절에 테이블명이 아니라  ( select memberid, cost from member where mon = '1' ) A, 이런식으로 하면 에러가 나는거 같아요.
한대승(불의회상) / 2020/02/10 13:19:22 / 추천 0
select memberid, cost, sumcost

form ( select memberid, cost from member where mon = '1' ) A,

(select sum(cost), memberid from member ) B

where A.memberid = B.memberid

이 쿼리에 에러는 없나요?

코the초보 / 2020/02/12 21:03:15 / 추천 0

네...

가상테이블로 하면 안되는거 같아서 결국에는 sum 구하는 쿼리를 바꿔서 했습니다.-.-