LE_ JOIN与GROUP_CONCAT

时间:2017-03-23 19:17:46

标签: mysql sql

使用下一个查询,我得到两行数据:

SELECT *
FROM tab_cars tc
LEFT JOIN tab_countrys tco ON tc.id_cars = tco.id_cars
WHERE tc.id_cliente = 70

其中一行返回有关法拉利的数据。 在这种情况下,我想要一个列表与法拉利零件列表显示在同一行。

像ferrari_parts这样的东西,其值为“part1,part2,part3”。

如果我单独执行此最后查询,请执行以下操作:

SELECT*,                        
GROUP_CONCAT(DISTINCT tlp.auto_parts) AS ferrari_parts                      
FROM tab_cars tc                        
LEFT JOIN tabs_join taj ON tc.parts_join = taj.parts_join                       
LEFT JOIN tab_list_parts tlp ON taj.id_list_parts = tlp.id_list_parts                       
WHERE tc.id_cliente = 70
AND tc.auto_parts = "ferrari"

我想要实现的是在单个查询中执行两个操作 ,以便返回两行,其中包含名为ferrari_parts的列,并且值为

编辑:

DB

|id | cars    | country | auto_parts
 1   Ford      USA        ford
 2   Ferrary   ITALY      ferrari

使用第一个查询,我得到相同的值。

我希望得到相同的两行,其中包含ferrary-parts从其他表中获取:

 |id | cars    | country  |auto_parts | ferrary_parts
  1   Ford      USA         ford
  2   Ferrari   ITALY       ferrari   part1, part2, part3

0 个答案:

没有答案