MySQL - объединение 2 таблиц и групповых значений - PullRequest
1 голос
/ 03 августа 2011

Я получил некоторую хорошую помощь здесь с некоторыми хитрыми вещами вроде этого, поэтому подумал, что вы, ребята, посмотрите и посмотрите, возможно ли это.

У меня есть две таблицы в 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

и т.д ..

Надеюсь, что это имеет смысл ... любая помощь очень ценится.

Обновление

Хорошо, чтобы помочь прояснить это немного лучше ...

Мне нужно проверить каждую компанию в таблице компании, а затем, используя этот идентификатор компании, использовать его для извлечения всех ресурсов в таблице ресурсов с тем же идентификатором компании ...

Итак, список будет выглядеть так ...

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)

и т.д .. и т.д ...

Надеюсь, что это прояснит некоторые вопросы.

Ответы [ 2 ]

2 голосов
/ 03 августа 2011

Я мог бы предложить этот запрос -

РЕДАКТИРОВАТЬ

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 голосов
/ 03 августа 2011
select companyName,GROUP_CONCAT(resourceName) from company,resources where company.companyId=resources.companyId;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...