-1
SELECT * FROM chat JOIN users ON chat.user_id = users.id
在這裏,我選擇有用戶的聊天消息,我也想選擇其他沒有用戶的聊天消息(因此chat.user_id = 0),併爲值爲字段「登錄」值對於那些未加入的行,「guest」如何在程序中沒有任何額外的循環,只需一次執行mysql?Mysql如何爲未連接的行設置值?
SELECT * FROM chat JOIN users ON chat.user_id = users.id
在這裏,我選擇有用戶的聊天消息,我也想選擇其他沒有用戶的聊天消息(因此chat.user_id = 0),併爲值爲字段「登錄」值對於那些未加入的行,「guest」如何在程序中沒有任何額外的循環,只需一次執行mysql?Mysql如何爲未連接的行設置值?
喜歡的東西:
SELECT c.*,
COALESCE(u.login,'guest') login
/** other user fields **/
FROM chat c
LEFT JOIN users u
ON u.id = c.user_id
我仍然但是登記的客人臨時用戶,這樣的消息可以被追蹤到至少對某些責任的會話。
如果不是,請使用NULL
而不是0
對於沒有用戶。這樣您仍然可以使用外鍵。
好吧,添加一個謂詞並改變'JOIN'類型。我極力鼓勵你回到SQL基礎知識。 – Kermit 2014-09-18 15:40:54
@Kermit固定請檢查問題,這只是一個打字錯誤 – DoublePudge 2014-09-18 15:41:19
對於初學者來說,這個查詢是完全無效的。 – mariobgr 2014-09-18 15:42:27