테스트 사이트 - 개발 중인 베타 버전입니다

장바구니 group by 부분의 쿼리를 오라클로 변경하는 문제 채택완료

lovebsw 4년 전 조회 2,448

 

해당 코드는 영카트 /shop/orderform.sub.php 와 /shop/cart.php 에 있는 장바구니 쪽과 주문서 작성쪽에 있는 쿼리 입니다. 

영카트를 오라클로 변경해서 작업을 진행하려던 중 group by 부분은  mysql 과 다르게 되어 있어서 저부분의 쿼리를 오라클로 어떻게 바꿔야 할지 고민하다가 질문을 올리게 되었습니다.

 

혹 보시다가 관심 가져주시면 감사하겠습니다

 

     </p>

<p>  $sql = " select a.ct_id,

                        a.it_id,

                        a.it_name,

                        a.ct_price,

                        a.ct_point,

                        a.ct_qty,

                        a.ct_status,

                        a.ct_send_cost,

                        a.it_sc_type,

                        b.ca_id,

                        b.ca_id2,

                        b.ca_id3,

                        b.it_notax

                   from {$g5['g5_shop_cart_table']} a left join {$g5['g5_shop_item_table']} b on ( a.it_id = b.it_id )

                  where a.od_id = '$s_cart_id'

                    and a.ct_select = '1' ";

        $sql .= " group by a.it_id ";

        $sql .= " order by a.ct_id ";</p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
  $sql = " select a.ct_id,
                        a.it_id,
                        a.ct_id
                   from {$g5['g5_shop_cart_table']} a left join {$g5['g5_shop_item_table']} b on ( a.it_id = b.it_id )
                  where a.od_id = '$s_cart_id'
                    and a.ct_select = '1' ";
        $sql .= " group by a.it_id ";
        $sql .= " order by a.ct_id ";

 

제가 썼던 oracle에서는

group by에 없는 컬럼은

min, max 같은

aggregate function만 써야했었습니다

https://docs.oracle.com/database/121/SQLRF/functions003.htm.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

l
lovebsw
4년 전
조언해주신 부분으로 해결했습니다. 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인