我有两张桌子:Firms and Employees
我需要一个查询以便拉出所有公司记录,并在该查询中拉出每个公司的员工。
例如:
ABC Company
Smith, John
Johnson, Tim
DEF Inc.
Jones, Mack
Frank, Tom
我尝试过JOIN,UNION等等的变种而没有运气......
答案 0 :(得分:3)
SELECT f.FirmName, GROUP_CONCAT(e.EmpName) AS Employees
FROM Firm f LEFT JOIN Employee e on f.FirmID = e.FirmID
GROUP BY f.FirmID
答案 1 :(得分:0)
如下所示的查询将为您提供所有公司的列表,LEFT JOIN包括公司,即使它没有任何员工。
select f.name firmname, e.name
from firms f
left join employees e on e.firm_id = f.firm_id
order by firmname, e.name
从您的前端显示代码,逐步浏览记录,每当公司名称发生变化时,请开始新的公司部分。