Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да получите един набор от данни от SQL заявка от множество таблици?

Ще се опитам да отговоря само с SQL.

Използвайте group_concat с distinct,

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функция Base58 Encoder в PostgreSQL

  2. Как мога да оптимизирам допълнително заявка за производна таблица, която работи по-добре от JOINed еквивалента?

  3. Django:Небуферирана mysql заявка

  4. Колона за актуализиране на MySQL въз основа на предишния ред (същата колона)

  5. JQUERY и php грешка при публикация 500 (вътрешна грешка на сървъра)