2013-12-12 2 views
0

완벽하게 작동하는 Woocommerce를 사용하여 사용자 지정 보고서를 실행하려고합니다. 현재 보고서는 "완료"로 표시된 모든 주문의 결과를 보여 주지만, 완료된 결과뿐만 아니라 "완료 됨", "취소됨", "실패한"과 같은 모든 주문 유형을 끌어 오기 위해 아래 코드를 어떻게 수정해야합니까? "및"처리 "? 현재 아래 코드는과 같이 완료된 것으로 표시된 주문의 결과 만 가져옵니다. 위와 같은 모든 주문 유형에서 가져 오려면 어떻게해야합니까? '완료', '처리', '취소됨', '실패'와 같이 쉼표로 구분할 수 있습니까? 누군가가 예제와 설명을 제공하여 나중에 참조 할 수 있도록 이해할 수 있습니까?SQL 테이블 내에서 용어를 얻는 방법

$sql = "SELECT *, 
       count(*) AS 'sale_total' 
       FROM {$wpdb->prefix}woocommerce_order_items AS order_items 

       LEFT JOIN {$wpdb->postmeta} AS country 
        ON order_items.order_id = country.post_id 

       LEFT JOIN {$wpdb->posts} AS posts 
        ON order_items.order_id = posts.ID 

       LEFT JOIN {$wpdb->term_relationships} AS rel ON posts.ID = rel.object_ID 
       LEFT JOIN {$wpdb->term_taxonomy} AS tax USING(term_taxonomy_id) 
       LEFT JOIN {$wpdb->terms} AS term USING(term_id) 

       WHERE posts.post_type    = 'shop_order' 
       AND posts.post_status   = 'publish' 


       AND country.meta_key   = 'reason_for_purchase' 
       AND term.slug IN ('completed') 
       AND post_date > '" . date('Y-m-d', $start_date) . "' 
       AND post_date < '" . date('Y-m-d', strtotime('+1 day', $end_date)) . "' 
       GROUP BY country.meta_value"; 

감사

+0

만 가지고 있는지 알 수 없습니다 :

이로 교체를 이것을 바꾸려면'term.slug IN ('completed')'줄에'term.slug IN ('completed', 'cancelled', 'failed', 'processing') ' –

+0

감사합니다 Filipe, 나는 시도했다. 질문을 게시하기 전에 논리적 접근이라고 생각했기 때문에 질문을 올렸지 만 편집을하면 더 이상 결과가 나오지 않고 보고서가 비어 있습니다. – Derek

+0

더 많은 작업이 필요 하겠지만, 결과를 얻지는 못했지만 IN이 목록의 필드 중 하나인지 평가하고 INIT를 제거하지 않으면 적어도 보고서에서 얻으십시오. 그것은 매우 이상합니다. –

답변

2

그냥 당신이 가지고있는 쿼리에 다른 상태 추가 term.slug IN ('completed') :

term.slug IN ('completed','canceled','failed','processing') 
관련 문제