Hello, I have been spinning my wheels for countless hours trying to figure this one out. Hope someone can lend a hand! ;-)
I have 4 tables:
1) Field_Tickets - Field_Tickets.field_tickets_id is the main field I wish to group on.
2) Field_Tickets_Has_Employees - This is joined by Field_Tickets.field_tickets_id=Field_Tickets_Has_Employees.field_tickets_id.
3) Employees - This is joined by Field_Tickets_Has_Employees.employees_id=Employees.employees_id
4) Employee_Roles - This is joined by Field_Tickets_Has_Employees.employee_roles_id=Employee_Roles.employee_roles_id
I would like to create a group concatenated string in crystal that looks like the following result:
Supervisor Lynn Jones
Assistant Alan Cyr
I had to write two separate statements, in the Command window, to achieve what I'm after and it still doesn't associate the correct role with the corresponding employee. I need to write it in one select group_concat but have been spinning my wheels for too many hours now. Here's the sql I have written:
select ft.field_tickets_id,
(SELECT GROUP_CONCAT(CONCAT(emp.employee_first_name, ' ',emp.employee_last_name, '\n') SEPARATOR'') from employees AS emp WHERE (SELECT DISTINCT(fte.employees_id) from field_tickets_has_employees as fte WHERE ft.field_tickets_id=fte.field_tickets_id AND fte.employees_id=emp.employees_id AND IsNull(fte.deleted_at) AND fte.employee_roles_id IN (281, 282, 283, 284) group by ft.field_tickets_id)) AS employeelist,
(SELECT GROUP_CONCAT(CONCAT(emprole.employee_role_name, '', '\n') SEPARATOR '') from employee_roles AS emprole WHERE (SELECT DISTINCT(fte2.employees_id) from field_tickets_has_employees as fte2 WHERE ft.field_tickets_id=fte2.field_tickets_id AND fte2.employee_roles_id=emprole.employee_roles_id AND IsNull(fte2.deleted_at) AND fte2.employee_roles_id IN (281, 282, 283, 284) group by ft.field_tickets_id)) AS emplistroles
from field_tickets AS ft
INNER JOIN jobs ON ft.jobs_id=jobs.jobs_id where
IsNull(ft.deleted_at)
Thanks!
Mark