Почему group_concat тоже возвращает запись для первой строки? - PullRequest
0 голосов
/ 02 мая 2018

У меня есть SQL-запрос, и в этом я использую функцию GROUP_CONCAT. Я использую это, чтобы иметь список делегатов в каждой строке.

Это мой запрос:

SELECT pro.company, pro.title AS person_title, pro.name AS person_name, pro.firstname AS person_firstname, pro.address, pro.address2, pro.postcode, cities.name AS city, pro.phone, pro.gsm, pro.fax, pro.email, pro.client_number AS sap, GROUP_CONCAT( DISTINCT user.firstname, ' ', user.name SEPARATOR ', ') AS delegue, agency.name AS agency, CONCAT(drv.firstname, ' ', drv.name) AS drv_name, drv.email AS drv_email, GROUP_CONCAT(DISTINCT pc.competence_id SEPARATOR ',') AS competences
    FROM velux.professionnal pro
    INNER JOIN velux.cities ON cities.id = pro.city_id
    INNER JOIN velux.zone ON pro.postcode BETWEEN zone.postcode_start AND postcode_end
    LEFT JOIN velux.p2p_user_zones user_zones ON user_zones.zone_id = zone.id
    LEFT JOIN velux.p2p_user user ON user.id = user_zones.user_id
    left join velux.p2p_user_group on p2p_user_group.user_id = user.id
    LEFT JOIN velux.agency ON zone.agency_id = agency.id
    LEFT JOIN velux.p2p_user drv ON drv.id = agency.user_id
    LEFT JOIN velux.professionnal_competence pc ON pc.professionnal_id = pro.id
    WHERE p2p_user_group.group_id in (10, 3)
    GROUP BY pc.professionnal_id 

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

У кого-нибудь есть идея? Если да, было бы здорово! Спасибо заранее!

...