sql >> データベース >  >> RDS >> Mysql

複数のテーブルのSQLクエリから1セットのデータを取得するにはどうすればよいですか?

    SQLのみを使用して回答しようとします。

    group_concatを個別に使用します

    select t.id,name,phone,
     group_concat(distinct a.addr separator ',') as address,
     group_concat(distinct c.cat separator ',') as category
      from table1 t
      left join address a 
        on t.id = a.refid
      left join category c
        on t.id = c.refid
      group by t.id,name, phone
    

    または

    インライン列として、

    select t.id,name,phone,
     (select group_concat(a.addr separator ',')
        from address a 
       where a.refid = t.id) as address,
     (select group_concat(c.cat separator ',') 
        from category c
       where c.refid = t.id) as category
      from table1 t
    

    参照 Db <> fiddle



    1. swi prolog mysql + web

    2. 複数の行をフェッチして1つの変数に格納-ORACLESTOREDPROCEDURE

    3. ドル記号付きの金額の合計

    4. Javaアプリ、MySQL接続を切断した後にスレッドがハングする