我有兩個表,一個是命中記錄,另一個是用戶表。如果用戶登錄,則用該用戶的ID記錄命中。如果用戶沒有登錄,點擊記錄爲user_id = 0
當JOIN條件不符合時mysql選擇虛擬記錄
當我運行一個報告時,我想加入點擊用戶表來獲取用戶名 - 但沒有用戶ID 0,所以我收到了錯誤的數據(例如,所有未登錄的點擊都沒有結果)。有沒有辦法選擇一個虛擬用戶名,如「訪客」,其中JOIN條件不滿足?
這裏的查詢:
SELECT DATE_FORMAT(a.timestamp, '%Y-%m-%d') date, count(a.*) hits, a.user_id, b.username
FROM hits a
JOIN users b ON a.user_id = b.id
WHERE 1
感謝您的快速和明確的幫助! – julio 2011-06-15 18:16:47
@julio。沒問題,您也可以使用[IFNULL](http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_ifnull) – 2011-06-15 18:23:07