2015-01-15 26 views
0

我想創建一個自定義的mysql查詢計數兩件事。獲取meta_key等於的類別的帖子數量?

首先,它應該算在一個類別,其中meta_key betting_status職位的數量值不等於‘待定’

那麼就應該算在一個類別職位的數目,其中meta_key betting_status'值等於是。

到目前爲止,我已經做到了這一點,但不是在所有它的輸出任何東西:

$wombo_query = "SELECT count(DISTINCT $wpdb->postmeta.post_id) FROM $wpdb->posts 
LEFT JOIN $wpdb->term_relationships ON 
($wpdb->posts.ID = $wpdb->term_relationships.object_id) 
LEFT JOIN $wpdb->term_taxonomy ON 
($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) AND 
WHERE $wpdb->postmeta.meta_key = 'betting_status' 
AND $wpdb->posts.meta_value = 'yes' 
WHERE $wpdb->posts.post_status = 'publish' 
AND $wpdb->term_taxonomy.taxonomy = 'category' 
AND $wpdb->term_taxonomy.term_id = 106 
"; 
+0

postmeta從哪裏來?我沒有看到那張桌子是你選擇的桌子之一。這可能是問題嗎? – 2015-01-15 17:51:50

+0

是的,這可能是我試圖合併兩個查詢,因爲我需要postmeta的問題 – 2015-01-15 17:54:39

回答

1

試試這一個。

SELECT count(DISTINCT wp_postmeta.`post_id`) 
    FROM wp_posts 
     LEFT JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) 
     LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) 
     LEFT JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id) 
WHERE wp_postmeta.meta_key  = 'betting_status' 
    AND wp_postmeta.meta_value = 'yes' 
    AND wp_posts.post_status  = 'publish' 
    AND wp_term_taxonomy.taxonomy = 'category' 
    AND wp_term_taxonomy.term_id = 106; 

由於我的DB與您的DB沒有相同的值,因此它會爲我返回0行,但它會執行。

乾杯! = C =

+0

好的,謝謝我有另一個鍵名爲betting_odds其中元值是2.05或1.10。關於如何將此元值的平均值添加到計數旁邊的任何想法?或更好地做出新的查詢? – 2015-01-15 19:45:18

相關問題