Это установка WordPress, но я думаю, что вопрос больше общего вопроса SQL.Во-первых, мои навыки sql невелики (я даже не знаю, придерживаюсь ли я правильного формата для иллюстрации БД).
У меня есть две таблицы:
wp_posts :
ID (pk) | post_name | ...
----------------------------
45 | "Hello"
91 | "Funny"
16 | "Wheat"
wp_postmeta :
post_id (fk) | meta_key | meta_value | ...
------------------------------------------------
45 | "_edit_lock" | 5789789834
45 | "fizzbizz" | "foobar"
91 | "_something" | "teve"
Я хотел бы выбрать все строки в wp_posts, где нет соответствующей строки в wp_postmeta, где meta_key = "fizzbizz"
У меня изначально был этот запрос, но кто-то указал, что он не получит ID = '16в вышеуказанном случае.Как бы я правильно написал запрос?
$pageposts = $wpdb->get_results("
SELECT * FROM wp_posts p
JOIN wp_postmeta m
ON p.ID = m.post_id
WHERE m.meta_key <> 'fizzbizz'
ORDER BY p.post_date DESC;
");