GROUP_CONCAT запрос

litledi

Новичок
GROUP_CONCAT запрос

День добрый, помогите советом.
есть 4 таблицы
1) Organizations(ID,Name)
2) Testers (ID,FirstName,LastName,OrganizationID)
3) Orders (ID,Name)
4) Order_Tester (OrderID,TesterID)

в результате запроса нужно получить
Заказ 1 AA A, BB B (Auto-dealer.ru), DD D (autoPotrebitel.ru), CC C (autoRATING.ru)
Заказ 2 BB B (Auto-dealer.ru), CC C (autoRATING.ru)"
Заказ 3 BB B, AA A (Auto-dealer.ru)"
Заказ 4 DD D (autoPotrebitel.ru)"
так чтобы если во 2-ой колонке получается несколько тестеров, которые принадлежат одной организации, то наименование организации не дублируется, а указывается только один раз в конце.

запрос без учёта данного условия:

SELECT tt1.OrderID, (
SELECT GROUP_CONCAT( DISTINCT CONCAT( testers.LastName, ' ', testers.FirstName, ' (' ) , ot.Name, ')' )
FROM order_tester AS tt2
LEFT JOIN testers ON tt2.TesterID = testers.ID
LEFT JOIN organizations AS ot ON ot.ID = testers.OrganizationID
WHERE tt1.OrderID = tt2.OrderID
)
FROM `order_tester` AS tt1 GROUP BY tt1.OrderID

даст
1 AA A (Auto-dealer.ru),BB B (Auto-dealer.ru),CC C (autoRATING.ru),DD D (autoPotrebitel.ru)
2 BB B (Auto-dealer.ru),CC C (autoRATING.ru)
3 AA A (Auto-dealer.ru),BB B (Auto-dealer.ru)
4 DD D (autoPotrebitel.ru)

запрос
SELECT CONCAT( GROUP_CONCAT( DISTINCT CONCAT( testers.LastName, ' ', testers.FirstName ) ) , '(', ot.Name, ')' )
FROM order_tester AS tt2
LEFT JOIN testers ON tt2.TesterID = testers.ID
LEFT JOIN organizations AS ot ON ot.ID = testers.OrganizationID
WHERE tt2.OrderID =tt1.OrderID GROUP BY ot.ID ORDER BY ot.Name ASC

уберёт совпадения но соответственно выведет для Orders.ID=1
AA A,BB B(Auto-dealer.ru)
DD D(autoPotrebitel.ru)
CC C(autoRATING.ru)
можно ли как-то навести на это GROUP_CONCAT , т.е. как бы GROUP_CONCAT для GROUP_CONCAT
 
Сверху