为什么mysql在子查询的组连接上返回错误?

时间:2013-02-22 14:15:50

标签: mysql sql

我在Subquery returns more than 1 row的此查询中遇到mysql错误GROUP_CONCAT。为什么我会收到此错误以及如何解决此问题?

 select SQL_CALC_FOUND_ROWS s.url, 
        GROUP_CONCAT(
        (select name 
             from labels_data ld, 
                  labels l 
             where ld.id=l.site_id=s.id 
         limit 2),
        ', '),
 ... more valid sql code ...
 as labels from sites s

1 个答案:

答案 0 :(得分:3)

您需要将group_concat放入子查询中。子查询 返回多行(至少通常是这样)。它有一个limit 2

  (select group_concat(name , ', ')
    from labels_data ld join
         labels l 
         on ld.id=l.site_id=s.id 
    limit 2
  )

我还建议您使用正确的ANSI连接语法。