제목 | MYSQL SELECT 쿼리안에서 '@변수명 := a/b' 지정 후 재사용 오류 | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 투어마케팅코리아 | 작성시각 | 2021/06/30 11:41:27 |
|
|||
'@FX_RATE := IFNULL(RRSI.Frgn_Net / RRSI.Net_Total, 0) AS exchange_rate' '@LOCAL_REVENUE := IFNULL(RR.net_amt_at_reserve + RR.com_amt_at_reserve, 0) AS LOCAL_RVNU' 'CAST( @LOCAL_REVENUE AS DECIMAL(18,2)) AS revenue_Local' 'CAST(IF(RRSI.Comm_Base > 0, RRSI.Comm_Base, @LOCAL_REVENUE) AS DECIMAL(18,2)) AS revenue_Local_HQ' 'CAST( @LOCAL_REVENUE * @FX_RATE AS DECIMAL(18,2)) AS revenue_USD' 'CAST(IF(RRSI.Comm_Base > 0, RRSI.Comm_Base, @LOCAL_REVENUE) * @FX_RATE AS DECIMAL(18,2)) AS revenue_USD_HQ'
이런식으로 SELECT안에서 @LOCAL_REVENUE, @FX_RATE를 지정한 뒤에 아래컬럼에서 재사용하려고 하는데 결과물로 빈 어레이만 나오네요. $this->db->last_query() 나 $this->db->get_compiled_select() 로 쿼리를 추출해서 MySQL Workbench에서 돌려보면 또 잘 나옵니다.CI문제인가 해서 추출한 쿼리를 mysqli_query($this->db->conn_id, $query); 로 해서 돌려봐도 빈결과물이 나오네요...
혹시 방법이 없을까요? 저번에 @변수 사용이 불가능하다고 봤던것같기도 하고... (다시 찾으니 너무 안나오네요... 3시간은 찾아본거같은데) |
|||
다음글 | CI3 Query Builder 관련 질문 드립니다. (3) | ||
이전글 | index.php 죽이기 잘됩니다! 다만 https일때... (2) | ||
변종원(웅파)
/
2021/06/30 12:36:19 /
추천
1
|
투어마케팅코리아
/
2021/06/30 14:11:04 /
추천
0
답변감사드립니다. $sql = $this->db->get_compiled_select(); $this->db->query('SELECT @FX_RATE:=1 AS FX_RATE, @LOCAL_RVNU:=10 AS LOCAL_RVNU;'); $data = $this->db->query($sql)->result_array(); 이렇게 해결되었습니다..ㅠㅠ 중간에 삽질을 좀 해서 왜안나오지 이러고 있었네요. |
변종원(웅파)
/
2021/06/30 15:42:25 /
추천
0
투어마케팅코리아/ 결과실행이 없었군요. ^^
|
참고하세요. https://three-pleasure.tistory.com/256
선언한 같은 select 안에서는 사용안됩니다.