mysql连接包括连接条件中的属性
让我有三个表注释、附件、后代注释mysql连接包括连接条件中的属性,mysql,sql,performance,join,Mysql,Sql,Performance,Join,让我有三个表注释、附件、后代注释 注释有许多注释,即自连接 评论有很多附件 后代注释包含注释的层次结构(父子关系、父子关系) 代码: 我不想使用手术室,因为这不是一个最佳的方式 有任何方法可以替换这行“或atch.comment\u id=com.id”当注释是自引用时,为什么有子注释表?表的结构是什么?您能给这些表提供一些示例数据吗?子代注释表不是多余的吗?你提到评论是自我引用的,因此,我假设在注释表中有CommentId和ParentCommentId列来相互链接注释。或的替代方法是将两个查
有任何方法可以替换这行“或atch.comment\u id=com.id”当注释是自引用时,为什么有子注释表?表的结构是什么?您能给这些表提供一些示例数据吗?子代注释表不是多余的吗?你提到评论是自我引用的,因此,我假设在注释表中有
CommentId
和ParentCommentId
列来相互链接注释。或的替代方法是将两个查询与UNION
组合。如果没有分组依据
,则无法获得有意义的计数
;无法添加分组依据
,因为将有未分组的列。您试图实现什么?当注释是自引用时,为什么要有后代注释表?表的结构是什么?您能给这些表提供一些示例数据吗?子代注释表不是多余的吗?你提到评论是自我引用的,因此,我假设在注释表中有CommentId
和ParentCommentId
列来相互链接注释。或的替代方法是将两个查询与UNION
组合。如果没有分组依据
,则无法获得有意义的计数
;无法添加分组依据
,因为将有未分组的列。你想达到什么目的??
SELECT comments.*, count(attachments.id)
FROM comments com
LEFT JOIN descendant_comments dc
ON dc.comments_id = com.id
LEFT OUTER JOIN attachments atch
ON (atch.comment_id = dc.child_comment_id OR atch.comment_id = com.id)
WHERE com.id = 77