2013-03-12 41 views
1

我正在努力與SQL查詢加入3表返回特定結果。SQL加入wordpress表

任何熟悉wordpress的人都可以提供幫助,因爲我正在使用單詞按鍵來爲後臺與db的交互提供動力,但是正在構建自定義用戶界面。這三個表: -

posts (**ID**, post_title, post_content, post_modified_gmt) 
term_relationships (**object_id**, term_taxonomy) 
terms (**term_id**, name, slug) 

我已經儘量了作爲..

SELECT posts.post_title FROM posts 
INNER JOIN term_relationships 
ON posts.ID = term_relationships.object_id 

它返回所有的文章標題是在term_relationships匹配的ID號的列表。然而,術語名稱在表格的「術語」中,並且ID與另外兩個表格不匹配。在術語表中term_id指該術語的名稱,如

term_id = 2, name = blog 

基本上我想實現一個查詢,由此,如果我設置term_id = 2將返回所有這一切都在表職位的行與博客的長期關係,這意味着查詢返回所有博客帖子,我完全失去了!

任何人都可以給我幾個指針嗎?我的頭腦很難受。

+0

你留下了一個重要的表在wordpress數據庫結構'wp_term_taxonomy'中。這是您需要鏈接'wp_terms'和'wp_term_relationships'的表格。請參閱:http://codex.wordpress.org/Database_Description。另外,目前還不清楚你在最後要問什麼。你想要所有與他們有關聯的術語'博客'的文章? – Wilduck 2013-03-12 21:02:18

+0

是的,這是正確的,所以如果我在wordpress後端中標記博客的類別'博客',我可以運行此查詢返回所有與該術語的帖子。 – KryptoniteDove 2013-03-12 21:04:17

+0

我不需要分類表,因爲所有'網頁'都是自定義生成的我只對在頁面上組織帖子顯示的類別感興趣。 – KryptoniteDove 2013-03-12 21:06:30

回答

1

我設法實現我一直在尋找與下面的查詢結果,但仍然會得到一些指針應該有人偶然發現了這一點,並有傾斜:)

  SELECT * FROM posts 
      INNER JOIN term_relationships 
      ON posts.ID = term_relationships.object_id 
     WHERE term_relationships.term_taxonomy_id = 2 
      AND posts.post_type = 'post' 
      AND posts.post_status = 'publish' 
     ORDER BY posts.post_modified_gmt ASC 
     LIMIT 0,5 
+1

所以你確實需要'term_taxonomy'! ;)很高興你發現了這個問題。 – Wilduck 2013-03-12 21:28:00

+0

是的,但不是全表,感謝指針哥們:) – KryptoniteDove 2013-03-13 10:52:43