WordPress からの投稿をフィルタリングするために 3 つのカテゴリのチェックボックスを使用しています (この質問はクエリに関するものです)。実際には、次のクエリで結果を返す必要があることを知っています (フィルターで選択した内容に基づいて、7 行目を自動的に生成します)。 ):
SELECT * 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)
LEFT JOIN wp_terms ON(wp_terms.term_id = wp_term_taxonomy.term_id)
WHERE
wp_terms.slug IN ('academia') AND wp_terms.slug IN ('early-career')
AND wp_term_taxonomy.taxonomy = 'jobtype'
AND wp_posts.post_status = 'publish'
AND wp_posts.post_type = 'jobs'
GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC
academia
カテゴリがANDの投稿が少なくとも 5 件ありますearly-career
。
7 行目を 1 つのIN
ステートメントだけに変更すると、その 1 つのカテゴリを適切にフィルター処理できます。
wp_terms.slug IN ('academia','journalism') //More than one from same category
AND wp_term_taxonomy.taxonomy = 'jobtype'......
学界またはジャーナリズムのいずれかであるすべての仕事を検索します (まさに私が期待するものです) が、他のIN
ステートメントを追加すると、何も返されません (ロジックに一致する投稿があります)。
何かが間違っているかどうか教えてもらえますか (おそらくIN
と 値の間のスペースですか?)、何日も運がなかったので。
どんな助けでも大歓迎です!ありがとう!
PS誰かがこのサイトを見たいと思ったら (私の言いたいことを見て): http://www.libertyguide.com/jobs
現在、これが機能するまでOR
、 any の代わりにグローバルがありIN
ます。