2011-08-03 63 views
1

我在这里遇到了一些棘手的问题,我在这里得到了一些很好的帮助,所以我想让你们看看,看看这是否可能。MySQL - 加入2个表格和组值

我在MySQL两个表..公司和资源......

的公司可以有多个资源..所以...

company 
-------- 
companyId (primary/auto inc) 
companyName 

resources 
--------- 
resourceId (primary/auto inc) 
companyId 
resourceName 

我想查询两个表,并组会这样的结果是这样的......

例...

Company Name 
ResourceName1 
ResourceName2 
ResourceName3 
Company Name 
Resource Name4 
Resource Name5 
Company Name3 
Resource Name6 

等。

希望有道理..任何帮助,非常感谢。

更新

确定以帮助阐明这个更好一点......

我需要每家公司都拉上了在运营商表,然后使用该companyId,用它来拉一切资源在同一companyId资源表...

因此名单是这样的......

Bob's Plumbing (aka Company name) 
    Bob the Plumber (has CompanyId of Bob's Plumbing) 
    Bob's Assistant (has CompanyId of Bob's Plumbing) 
Joe's Roofing (aka Company name) 
    Joe the Roofer (has CompanyId of Joe's Roofing) 

etc ..等等...

希望能清除一些混乱。

回答

2

我可以suggets这个查询 -

编辑

SELECT 
    c.companyName, 
    GROUP_CONCAT(CONCAT(r.resourceName, ' ', r.resourceFirstname, ' ', r.resourceLastname) SEPARATOR '\r\n') 
FROM 
    company c 
JOIN 
    resources r 
    ON c.companyId = r.companyId 
GROUP BY 
    c.companyId; 

注意,该公司的名称和它的资源将在一排。

+0

你能不能告诉我如何与一个以上的领域从资源表(即r.resourceFirstname r.resourceLastname) –

+0

是的,有可能用这个。我修改了查询。 – Devart

0
select companyName,GROUP_CONCAT(resourceName) from company,resources where company.companyId=resources.companyId;