1

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
4

1 回答 1

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 连接语法。

于 2013-02-22T14:17:03.640 回答