У меня есть 2 таблицы (база данных Wordpress), одна из которых хранит записи, а другая - мета-записи.Для этого примера таблица сообщений хранит информацию о местах (например, бары или клубы).В мета-таблице хранятся оценки, присвоенные этим барам пользователями / посетителями.Рейтинги сохраняются как 20, 40, 60, 80 или 100 под ключом «_rating».У меня есть следующий запрос.
SELECT posts.*, AVG(meta.meta_value) as average
FROM wp_posts as posts
LEFT JOIN wp_postmeta as meta
ON posts.ID = meta.post_ID
WHERE meta.meta_key = '_rating'
AND posts.post_status = 'publish'
AND posts.post_type = 'npc_venue'
GROUP BY meta.post_id
ORDER BY post_title asc
Это прекрасно работает, за исключением одной проблемы.Если место еще не получило рейтинг, то в таблице wp_postmeta нет записи «_rating», и, следовательно, она не извлекается в запросе.
Вопрос: Как я могу получить все места избазы данных, с их средним рейтингом, даже если они еще не получили рейтинг.Заранее спасибо!
РЕДАКТИРОВАТЬ: Если место еще не было оценено, то в таблице wp_postmeta нет записи _rating, что поднимает вопрос, что именно означает NULL?NULL обычно используется для неизвестного значения.Тем не менее, когда запись полностью отсутствует в таблице, она все еще считается NULL?Или он просто становится пустым набором строк?