実現したいこと
抽象的な説明が難しいので具体的な説明で書きます。
ワードプレスで「wp_postmeta」に対して、例えば「カテゴリーが旅行」の記事の中で「サムネイルが設定されていない記事」を取得したいです。
meta_key = 'category' and meta_value = 'trip'
この条件で旅行記事のみの取得はできますが、そこからサムネイルが設定されていない記事に絞り込む方法がわかりません。
自分で調べ、下記のコードで実行してみましたがうまくいきませんでした。
また、そもそもNOT INではなく別の方法があればそれも提示していただけるとありがたいです。
sql
1select * 2from wp_postmeta 3where meta_key = '_thumbnail_id' 4not in( 5 select post_id 6 from wp_postmeta 7 where meta_key = 'category' and meta_value = 'trip' 8)
補足情報(FW/ツールのバージョンなど)
データベースはMySQLです。
追記
サムネイルが存在するかどうかを確認する方法についての追記です
サムネイルが存在する場合は
テーブル:wp_postmeta
|meta_id|post_id|meta_key|meta_value|
|:--|:--:|--:|
|0001|1000|category|trip|
|0002|1000|_thumbnail_id|12345|
のような指定のされ方をしています。
サムネイルが存在しない場合はそもそもpost_id
に対応するmeta_key = '_thumbnail_id'
のデータが存在していません。
なので、meta_key = '_thumbnail_id' and meta_value = NULL
という条件とすると、meta_key = '_thumbnail_id'
となるデータが存在しないためNULL判定することができません。
なので、「meta_key = '_thumbnail_id'
となるデータが存在しないこと」を条件としたいと考えています。
回答2件
あなたの回答
tips
プレビュー