2017-12-08 12 views
-1

私はカスタムポストタイプとタクソノミーを持っています。ここでタクソノミーに1つの価値を置くことができます。この場合分類は都市です。私は、結果が1つの値しか設定されていない投稿であるという問い合わせをしたい。例:taxonomyが "term-id = 3"、つまり "sao-paulo-sp"だけである投稿をすべて欲しい。taxonomyからterm_idを1つだけ選択してください

しかし、「sao-paulo-sp、city 2、city 3 city 4など」のような複数の値が設定されている投稿があり、このような投稿が私の検索結果に表示され続けます。

SELECT wp.ID, wp.post_title, wt.term_id FROM wp_posts wp 
INNER JOIN wp_term_relationships wtr ON (wp.`ID` = wtr.`object_id`) 
INNER JOIN wp_term_taxonomy wtt ON (wtr.`term_taxonomy_id` = 
wtt.`term_taxonomy_id`) 
INNER JOIN wp_terms wt ON (wt.`term_id` = wtt.`term_id`) 
WHERE wtt.taxonomy = 'cities' 
AND wt.slug = 'sao-paulo-sp' 
ORDER BY wp.ID 

私は結果が唯一の "サン・パウロ-SP" または「term_id = 3' 分類都市に彼の値

+0

サンプル・データおよび望ましい結果とは異なるterm_idたことの選択でNOT INをやって私の問題を解決した場合Srry、私の英語は、私の質問を指定するには十分ではなかったですあなたがしたいことを明確にします。 –

答えて

0

ようならば持っている投稿をしたことを希望Iあなたはこのような何かしたい、正しく理解して:私はwt.term_idSELECTリストに何をしているのかわからない

SELECT wp.ID, wp.post_title, wt.term_id 
FROM wp_posts wp INNER JOIN 
    wp_term_relationships wtr 
    ON wp.`ID` = wtr.`object_id` INNER JOIN 
    wp_term_taxonomy wtt 
    ON wtr.`term_taxonomy_id` = wtt.`term_taxonomy_id` INNER JOIN 
    wp_terms wt 
    ON wt.`term_id` = wtt.`term_id` 
WHERE wtt.taxonomy = 'cities' 
GROUP BY wp.ID 
HAVING COUNT(*) = 1 AND MAX(wt.slug) = 'sao-paulo-sp' 
ORDER BY wp.ID; 

0

ヘルプ誰もが私はtem_id 3.

​​
関連する問題