我需要获得所有没有特定自定义字段的帖子(例如。custom_field
).
以下查询工作正常:
SELECT * FROM wp_posts WHERE ID NOT IN (SELECT post_id FROM wp_postmeta WHERE meta_key = "custom_field")
如果可能的话,我会尽量避免使用子查询。
How can this query be rewritten so it doesn\'t use a subquery? 我试着用一个连接来写它,但我不知道如果某个特定的
meta_key
存在自定义字段。
例如,天真的尝试可能是:
SELECT p.* FROM wp_posts p JOIN wp_postmeta pm ON p.id = pm.post_id AND pm.meta_key != "custom_field"
但是,此查询只是避免在具有
meta_key
匹配
"custom_field"
. 该帖子的其他行仍将被合并。我们希望获得所有没有自定义字段的帖子
meta_key
属于
"custom_field"
.
有什么想法吗?