2014-01-24 1 views
1

Table1: PROJECT_BASIC_INFORMATION:группа CONCAT между двумя таблицами

PROJECT_BASIC_INFORMATION_ID | TITLE 
PBID_1       TITLE_1 
PBID_2       TITLE_2 
PBID_3       TITLE_3 

Table2: MAP_ASSOCIATED_PROJECTS

MAP_ID | PROJECT_BASIC_INFORMATION_ID | ASSOCIATED_PROJECT_BASIC_INFORMATION_ID 
    1   PBID_1       PBID_2 
    2   PBID_1       PBID_3 

Я хотел бы иметь запрос как для одного project_basic_information_id в таблице 1, дайте мне все связанные с ним project_basic_information_id (s) и соответствующие заголовки (ы) в значении, разделенном запятой.

Ex: для PBID_1 в table1 я должен получить выход как

Project_basic_information_ids | Project_titles 
pbid2,pbid3      title2,title3 

Я попробовал этот запрос

SELECT GROUP_CONCAT(DISTINCT a.`ASSOCIATED_PROJECT_BASIC_INFORMATION_ID`) AS PROJECT_BASIC_INFORMATION_IDS,GROUP_CONCAT(DISTINCT b.`TITLE`) AS TITLE 
FROM MAP_ASSOCIATED_PROJECTS a LEFT OUTER JOIN 
`PROJECT_BASIC_INFORMATION` b ON b.PROJECT_BASIC_INFORMATION_ID =a.PROJECT_BASIC_INFORMATION_ID 
+1

Er, GROUP BY ???? ? – Strawberry

ответ

1

Попробуйте это:

SELECT GROUP_CONCAT(DISTINCT a.ASSOCIATED_PROJECT_BASIC_INFORMATION_ID) AS Project_basic_information_ids , 
     GROUP_CONCAT(DISTINCT b.TITLE) AS Project_titles 
FROM MAP_ASSOCIATED_PROJECTS a 
LEFT OUTER JOIN PROJECT_BASIC_INFORMATION b ON a.ASSOCIATED_PROJECT_BASIC_INFORMATION_ID = b.PROJECT_BASIC_INFORMATION_ID 
WHERE a.PROJECT_BASIC_INFORMATION_ID = 'PBID_1' 
GROUP BY a.PROJECT_BASIC_INFORMATION_ID 
+0

yep gotcha.Missed that; (Спасибо за помощь. Работает как и ожидалось – user1650864

+0

@ user1650864 Тебе очень рады ... –