sql >> Databáze >  >> RDS >> Mysql

Jak získat jednu sadu dat z dotazu SQL z více tabulek?

Pokusím se odpovědět pouze pomocí SQL.

Použijte group_concat s výrazem,

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

NEBO

Jako vložený sloupec,

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

Reference Db<>housle



  1. Oracle :Export sady výsledků výběrových příkazů jako INSERT příkazů SQL podobně jako export pro vývojáře SQL

  2. Nápověda k hašování PHP a SQL:Co dělám špatně?

  3. Konverze formátu data Java

  4. Zapnutí nebo vypnutí Identity na serveru SQL