2011-05-18 33 views
0

我有兩張桌子。如何通過其他sql表進行排序sql?

wp_term_relationships 
    term_taxonomy_id 
    ... 

wp_posts 
    ID 
    ... 
    menu_order 

什麼我做的是從wp_term_relationships

$results = $wpdb->get_results("SELECT `object_id` 
           FROM `wp_term_relationships` 
           WHERE `term_taxonomy_id`='".$cat_id."'"); 

,然後按照各,我需要

foreach($results as $result){ 

    $postarrayStringINT[] = $result->object_id; 

    $results2 = $wpdb->get_results("SELECT * FROM `wp_posts` 
            WHERE `ID`='".$result->object_id."' "); 

值取所有值,但我需要他們在正確的順序,那是wp_posts中的menu_order表,怎麼做?

我想類似的東西:

"SELECT `object_id` FROM `wp_term_relationships` 
WHERE `term_taxonomy_id`='".$cat_id."' JOIN (SELECT * FROM 'wp_posts') 
ORDER BY 'menu_order'" 

怎麼辦呢?如何從表中取一個值並按排序它由其他表值決定?

+0

什麼是你的表的列?通常你必須加入兩個表才能排序 – Teneff 2011-05-18 09:21:09

+0

wp_term_relationships - object_id,term_taxonomy_id,term_order ;;; wp_posts - ID,menu_order(正如我在頂部寫的,在wp_posts中有很多其他列,他們沒有區別) – BlackJ 2011-05-18 09:24:27

回答

0

你應該嘗試類似的東西:

SELECT field1, field2, field3, etc... 
FROM wp_posts 
INNER JOIN wp_term_relationships on wp_posts.id = wp_term.object_id 
WHERE term_taxonomy_id=".$cat_id." 
ORDER BY menu_order 
+0

它工作!謝謝。我只是把wp_term.object_id改爲wp_term_relationships.object_id,它完美的工作:)謝謝 – BlackJ 2011-05-18 09:45:07

相關問題