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 に答える