【发布时间】:2015-07-10 18:24:22
【问题描述】:
我正在尝试加入两个表并计算 messageFiles 中与 message 相关的所有结果 我有以下结构的表:
消息:
id
name
email
subject
message
date_added
read
消息文件
id
name
message_id
date_added
我正在尝试此代码,但我总是得到结果 countFiles = 1 并且我 message 为与之相关的每个文件重复(例如,如果我有消息的 3 个文件,它将重复 3 次)。此查询也不会选择没有文件的消息。似乎有什么问题?
$this->db->select("SQL_CALC_FOUND_ROWS *, messages.*, COUNT(messagesFiles.id) as countFiles", FALSE)->from('messages')
->join('messagesFiles', "messagesFiles.message_id = messages.id")
->where("messages.read", 1)
->group_by('messagesFiles.id')->get()->result_array();
【问题讨论】:
-
您要返回多少行?去掉 COUNT() 和 group_by() 会得到多少行?
-
总共有 8 行没有 COUNT() 和 group_by
-
您如何使用 COUNT() 和 group_by 返回行数?
-
14 - 这是 messageFiles 表中的行数。
-
这没有意义......当你使用 group_by 时,你应该比不使用时少
标签: php mysql codeigniter codeigniter-3