我有以下三个表(简化):
User (
UserID
UserName
)
UserMsg (
toUserID
MsgID
theMsg
)
UserMsgComment (
CommentID,
MsgID,
theComment
)
并希望显示每个用户与每个UserMsg的UserMsgComment计数一起的UserMsg-s。如果UserMsg没有UserMsgComment,我想显示'0'。
UserName | UserMsg | COUNT(UserMsgComment) or show '0'
SELECT u.*, m.theMsg FROM User u,
LEFT JOIN UserMsg m ON u.UserID = m.toUserID
我如何修改此查询以显示每个UserMsg的UserMsgComment总数或0如果UserMsgComment中没有条目?
非常感谢。
答案 0 :(得分:2)
您只需加入额外的表格并进行相应的分组。请注意,如果要选择u。*,则必须按用户表中的每一列进行分组。
SELECT u.UserID, m.theMsg, COUNT(mc.CommentID)
FROM User u,
LEFT JOIN UserMsg m ON u.UserID = m.toUserID
LEFT JOIN UserMsgComment mc on m.MsgID = mc.MsgID
GROUP BY u.UserID, m.theMsg