Search code examples
mysqlsqldatabaseselectgroup-concat

MySQL Lowercase Returned Value Or Entire Result


I have the below SQL query and it will return a group_name along with a list of departments for that group. I was able to lowercase the departments returned, but I can't figure out how to lowercase the group name as well.

Also, instead of lowercasing each returned column is there perhaps a way to lowercase the entire result in one swoop?

SELECT sg.group_name,A.dept_name
FROM   `sys_groups` `sg`
       INNER JOIN (SELECT gda.group_id,
       GROUP_CONCAT(LOWER(sd.dept_name) ORDER BY `dept_name`
                  SEPARATOR '|'
                  ) `dept_name`
       FROM   `group_dept_access` `gda`
       INNER JOIN `sys_department` `sd`
       ON gda.dept_id = sd.dept_id
       GROUP  BY gda.group_id) AS `A`
       ON sg.group_id = A.group_id  

Thank you in advance!


Solution

  • Try this:

    SELECT LOWER(sg.group_name) group_name, LOWER(A.dept_name) dept_name
    FROM sys_groups sg
    INNER JOIN (SELECT gda.group_id,
                       GROUP_CONCAT(sd.dept_name ORDER BY dept_name SEPARATOR '|') dept_name
                FROM group_dept_access gda
                INNER JOIN sys_department sd ON gda.dept_id = sd.dept_id
                GROUP BY gda.group_id
              ) AS A ON sg.group_id = A.group_id