是否可以在单个查询中选择表1中的所有行和表2中的每行元数据?

时间:2018-06-07 15:19:36

标签: php html mysql sql

我正在构建一个小型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 :(得分:1)

这可以解决您的问题:

SELECT *  
FROM t1 
LEFT JOIN t2 ON t1.id = t2.t1_id 

答案 1 :(得分:1)

我认为最好的方法是使用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