2014-01-29 154 views
0

我有兩個表wp_term_relationshipswp_term_taxonomyMYSQL從兩個表和削減查詢

當我做了以下SELECT * FROM wp_term_taxonomy WHERE parent = '17'我得到以下

enter image description here

的圖像,然後我做SELECT * FROM wp_term_relationships WHERE term_taxonomy_id = '28'

哪個輸出

enter image description here

object_id然後得到使用SELECT * FROM wp_term_relationships WHERE object_id = '88',這表明我爲這個項目的terms

enter image description here

我會那麼做的是從下表旁邊term_taxonomy_idtaxonomy名稱顯示

enter image description here

我很抱歉,這是一個長篇大論的問題,但我希望有那些能夠幫助並可能簡化它的人,以便從我最初查詢哪裏的parent=17我能夠只顯示DISTINCT taxonomy哪裏的taxonomy是相等的到product_brand

+0

您只想顯示DISTINCT分類的分類等於'product_brand'_的分類。這隻會返回一個記錄,其中'taxonomy'的值是'product_brand'的值 – AgRizzo

回答

2

您可以取代你上次查詢:

SELECT wptr.*, wptt.taxonomy 
FROM wp_term_relationships wptr 
INNER JOIN wp_term_taxonomy wptt ON wptr.term_taxonomy_id = wptt.term_taxonomy_id 
WHERE object_id = '88' 

它使用的INNER JOIN將從採取分類名稱term_taxonomy_id ID的wp_term_taxonomy。

正如Anticom所說,你應該看看SQL中的JOIN,它們可以解決你的問題並且易於使用。

2

您問題的答案是JOINS。您也可以使用subselects,但加入表格通常會更快。

應該有類似的開發人員資源和其他DBMS像MSSQL或PostgreSQL等