まず、MYSQL JOINに関しては、スキルが限られていることを述べておきます。しかし、これは私が持っているものであり、私が達成したいものです:
私はデフォルトのWordPressテーブルを持っており、特定のメタキーからpost_name、title、status、meta_valueで結果を取得したいと思っています。
これは私が持っているものです:
SELECT
wp_posts.ID, wp_posts.post_name, wp_posts.post_title, wp_posts.post_status, wp_postmeta.meta_value
FROM wp_posts
INNER JOIN
wp_term_relationships ON ( wp_posts.ID = wp_term_relationships.object_id )
INNER JOIN
wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id )
WHERE (
wp_term_relationships.term_taxonomy_id
IN ( 1, 2, 3 )
)
AND wp_posts.post_type = 'my_post_type'
AND (
wp_posts.post_status
IN (
'my_status_1', 'my_status_2'
)
)
AND wp_postmeta.meta_key = 'my_meta_key'
GROUP BY wp_posts.ID
ORDER BY wp_posts.ID ASC
各投稿に「my_meta_key」のpostmetaがある場合、すべてが期待どおりに機能します。ただし、「my_meta_key」が欠落している場合、投稿は結果に含まれません。
2番目のINNERJOINが原因だと思いますが、前述のように、何に置き換える必要があるのかわかりません。
簡単なことだと思います