2015-08-20 41 views
0

我工作的一個WordPress的插件,我需要的所有產品的詳細信息,該網站使用woocommerce插件,並woocomerce店鋪的產品爲帖子和產品薈萃存儲(分佈式)在許多其他表格。我必須得到所有的產品(和相關細節)總之。我GOOGLE了一下,發現下面的查詢。它似乎適用於其他人,但我無法使其工作。WordPress的SELECT與JOIN不工作

global $wpdb; 
    $sql = "SELECT 
        p.id, 
        p.post_title, 
        p.guid, 
        p.post_type, 
        m.meta_key, 
        m.meta_value, 
        meta_sp.meta_value as sale_price, 
        meta_ap.meta_value as additional_price 
      FROM wp_posts p 
      INNER JOIN wp_postmeta m 
      INNER JOIN wp_postmeta meta_sp ON p.id=meta_sp.post_id 
       AND meta_sp.meta_key='sale_price' 
      INNER JOIN wp_postmeta meta_ap ON p.id=meta_ap.post_id 
       AND meta_ap.meta_key='additional_price' 
      WHERE p.id=m.post_id 
      AND m.meta_key='_rentable' AND m.meta_value='yes'"; 

     $results = $wpdb->get_results($sql); 
     var_dump($results); 

Result : array (size=0) empty. 

任何一個可以告訴我如何讓上面的查詢工作,或者一個方式來獲得所有產品在現場分貝

回答

2

你缺少一個ON,試試這個:

SELECT 
    p.id, 
    p.post_title, 
    p.guid, 
    p.post_type, 
    m.meta_key, 
    m.meta_value, 
    meta_sp.meta_value as sale_price, 
    meta_ap.meta_value as additional_price 
FROM wp_posts p 
INNER JOIN wp_postmeta m ON p.id=m.post_id 
INNER JOIN wp_postmeta meta_sp ON p.id=meta_sp.post_id 
    AND meta_sp.meta_key='sale_price' 
INNER JOIN wp_postmeta meta_ap ON p.id=meta_ap.post_id 
    AND meta_ap.meta_key='additional_price' 
WHERE p.id=m.post_id 
AND m.meta_key='_rentable' AND m.meta_value='yes' 
+0

嘿Benvorth,我想你的解決方案,但它仍然是相同的 陣列(大小= 0)空。 其他查詢工作正常,但這個特定的查詢沒有工作。請看看是否有其他問題,並感謝您的答覆。 –