Можно ли выбрать все строки из таблицы 1 и метаданные каждой строки из таблицы 2 в одном запросе? - PullRequest
0 голосов
/ 07 июня 2018

Я создаю небольшую CRM, я хочу знать, есть ли способ на самом деле привести все строки из таблицы 1, но также с тем же результатом, метаданные каждой строки из таблицы 2, скажем, tasks t2.

Прямо сейчас я использую 2 запроса, один, чтобы вывести все строки из t1, затем в цикле я выбираю все строки из t2, если на t1_id есть совпадение. Я помещаю данные в существующий массив.

t1
-------------------
id
number
created_at
updated_at


t2
-------------------
id
t1_id
something
created_at
updated_at

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Я думаю, что лучше всего использовать group_concat, но есть и другие способы:

 SELECT t1.id,
  t1.number,
  t1.created_at,
  t1.updated_at
  GROUP_CONCAT(DISCTINCT t2.something) as meta
 FROM t1
 LEFT JOIN t2 on t1.id = t2.t1_id
 GROUP BY t1.id,
  t1.number,
  t1.created_at,
  t1.updated_at
0 голосов
/ 07 июня 2018

Это может решить вашу проблему:

SELECT *  
FROM t1 
LEFT JOIN t2 ON t1.id = t2.t1_id 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...