两个左联接并包括一个计数?

问题描述

我有以下查询,其中包括连接多个标签的左连接。该查询有效。

  SELECT
    ap.userid,ap.audioid,u.id
       (
        SELECT GROUP_CONCAT(t.tagname)
        FROM entitytag et
        LEFT JOIN tags t on t.tagid = et.tagid
        WHERE et.audioid = ap.audioid
    ) tagname
FROM audioposts ap 
LEFT JOIN users u ON u.id = ap.userid

但是现在我想添加一个左联接,该联接计算一个称为“回复”的表中每个ap.audioid回复数。有人知道如何添加这个额外的左联接吗?

这是用于计算对GET中对指定音频ID的回复查询查询

SELECT count('replyid') from replies WHERE opid = ?

但是如何将多余的左联接添加到第一个代码中,以便可以从每个audioid回复表中获取回复计数?

解决方法

没有左加入,但是阅读您的问题应该可以解决:

SELECT
    ap.userid,ap.audioid,u.id,(
        SELECT GROUP_CONCAT(t.tagname)
        FROM entitytag et
        LEFT JOIN tags t on t.tagid = et.tagid
        WHERE et.audioid = ap.audioid
    ) tagname,(
      select count('replyid') from replies WHERE opid = ap.audioid
    ) as count
FROM audioposts ap 
LEFT JOIN users u ON u.id = ap.userid

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...