我有 4 张桌子
- 用户
- 图片
- 消息
- 好友请求
我正在尝试在单个查询中获取好友请求和新消息。它运作良好,但当我离开加入“friendsreuqests”时,我得到了多行。
这是我的查询:
SELECT username,
f1.userid as reqId,
m1.msg, m1.userid,
p1.picHash, p1.extension, UNIX_TIMESTAMP( m1.sent ) AS date
FROM users
LEFT JOIN pictures p1 ON p1.userid = users.id
LEFT JOIN messages m1 ON m1.contactid = users.id AND m1.delivered =0
LEFT JOIN friendrequests f1 ON f1.contactid = users.id AND f1.delivered=0 AND f1.request =1
WHERE users.id =7
ORDER BY date ASC
这是 MySQL 结果:
Kungen 3 gregegerg 1 dc825b1c8a35593be4d172db7 jpg 1369839537
Kungen 12 gregegerg 1 dc825b1c8a35593be4d172db7 jpg 1369839537
Kungen 3 HEJH 1 dc825b1c8a35593be4d172db7 jpg 1369839540
Kungen 12 HEJH 1 dc825b1c8a35593be4d172db7 jpg 1369839540
如您所见,结果翻了一番。我现在只想得到两行。如果我有两条新消息但没有新朋友请求这 2 行应该为 NULL。