Mysql 使用GROUP_CONCAT时,如何从另一个表输出列

Mysql 使用GROUP_CONCAT时,如何从另一个表输出列,mysql,sql,Mysql,Sql,使用下面的语法,t3(表3)列不显示,但我需要从表中获取页面ID。。有什么帮助吗 SELECT t1.*, GROUP_CONCAT(t2.page_num separator ', ')pageNR FROM t1 JOIN t2 ON t2.pid = t1.pid JOIN t3 on t3.ID = t1.ID WHERE t1.ID = ? AND t3.page_num = t2.page_num ORDER BY t1.tag 大概是这样

使用下面的语法,
t3
(表3)列不显示,但我需要从表中获取
页面ID
。。有什么帮助吗

SELECT t1.*,
    GROUP_CONCAT(t2.page_num  separator ', ')pageNR
    FROM t1
JOIN t2 ON t2.pid = t1.pid
JOIN t3 on t3.ID = t1.ID
    WHERE t1.ID = ?
    AND t3.page_num = t2.page_num
    ORDER BY t1.tag

大概是这样的:

SELECT t1.*,
       GROUP_CONCAT(t2.page_num separator ', ') as pageNR,
       GROUP_CONCAT(t3.page_id separator ', ') as pageIds
FROM t1 JOIN
     t2
     ON t2.pid = t1.pid JOIN
     t3 
     On t3.ID = t1.ID AND t3.page_num = t2.page_num
WHERE t1.ID = ?
GROUP BY t1.ID;

请提供样本数据和预期结果。您有一个带有
select*
的聚合函数,但没有合适的
groupby
。您通常
groupby
select
相同的列,除了那些是设置函数的参数的列。将page\u num join条件移动到ON子句,以使代码正确。加上1-您很快…)。我甚至还没有写完我的第一段。谢谢你这么快的回复。然而,我在t3.pid=t1.pid和t3.page_num=t2.page_num@veskimati上的
处遇到了意外的令牌错误。这个答案中没有这个表达。但是您应该调整列名以匹配实际数据。@GordonLinoff对不起,我的错。我的意思是第8行出现意外的令牌错误:在t3.ID=t1.ID和t3.page_num=t2.page_num上,我确实将所有表和列名替换为原始名称,检查了10次,但不知道为什么会出现这些错误。出于某种原因,第8行上的所有标记都是意外的