У меня есть запрос на соединение, в котором я оставил соединение, 2 таблицы, скажем tab_sector
и tab_sector_subdivisions
. У меня есть записи в первой таблице, которые могут иметь или не иметь соответствующие записи во 2-й таблице. Я присоединяюсь к этим таблицам таким образом, чтобы он возвращал все строки из первой таблицы и соответствующие строки из второй таблицы. Также, если строка в первой таблице имеет несколько записей во второй таблице, она должна возвращаться как GROUP_CONCAT(field_name)
. Но мой запрос не возвращает так, как мне нужно.
Вот запрос без GROUP_CONCAT:
SELECT tab_sector.sector_id,tab_sector.sector_title,tab_sector.sector_desc,tab_sector.sector_image,tab_sector_subdivisions.subdiv_id
FROM tab_sector
LEFT JOIN tab_sector_subdivisions
ON tab_sector_subdivisions.sector_id = tab_sector.sector_id WHERE tab_sector.active = 'Y'
результат:
вы можете видеть 2 строки для идентификатора 20. Мне нужна только одна строка, но subdiv_id
как (19,20)
. Затем я использовал GROUP_CONCAT в запросе как:
SELECT tab_sector.sector_id,tab_sector.sector_title,tab_sector.sector_desc,tab_sector.sector_image,GROUP_CONCAT(tab_sector_subdivisions.subdiv_id)
FROM tab_sector
LEFT JOIN tab_sector_subdivisions
ON tab_sector_subdivisions.sector_id = tab_sector.sector_id WHERE tab_sector.active = 'Y'
Тогда результат будет:
Мои две другие записи отсутствуют в этом. Я хочу, чтобы эти строки тоже были в моем результате.
Может кто-нибудь помочь мне решить эту проблему? Заранее спасибо.