我有2個表(Wordpress數據庫),一個存儲帖子和其他帖子元。對於這個例子,帖子表存儲關於場地(即酒吧或俱樂部)的信息。元表正在存儲用戶/訪客給這些酒吧的評分。等級在'_rating'下被存儲爲20,40,60,80或100。我有以下查詢。MySQL左加入
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?或者它只是成爲一個空行集?
謝謝!這是唯一的解決方案,如果沒有_rating鑰匙出席場地! – Chris