Клиент вводит заявку и выбирает отдел или, в некоторых случаях, несколько отделов из списка.Мое приложение возвращает отделы, разделенные запятыми для каждого идентификатора билета.Работает отлично.Тем не менее, пользователь мог выбрать «ВСЕ» отделы из выбора (DEPARTMENT_ID для выбора ВСЕ - «1»).Затем мне нужно будет вернуть все отделы в таблице отделов, разделенные запятыми.
Ticket Table
TICKET_ID | ISSUE
-------------------------
100 | Power Outage
101 | Internet is not working
Таблица отделений:
DEPARTMENT_ID | DEPARTMENT
--------------------------
1 | ALL
2 | Accounting
3 | Human Resources
4 | Receiving
Таблица DepartmentTickets
DEPARTMENT_TICKETS_ID | TICKET_ID | DEPARTMENT_ID
----------------------------------------------------------
1 | 100 | 2
2 | 100 | 3
3 | 101 | 1
Использование моегозапрос, билет 100 показывает следующие результаты: Отключение электропитания: бухгалтерия, управление персоналом Как оформить билет 101, показывает следующее: Интернет не работает: все, бухгалтерия, управление персоналом, получение
Select ISSUE,
stuff((
SELECT ', ' + cast(Departments.DEPARTMENT as varchar(max))
FROM Departments
left join DepartmentTickets
ON DepartmentTicket.TICKET_ID = TICKETS.TICKET_ID
WHERE DepartmentTickets.TICKET_ID = TICKETS.TICKET_ID and DepartmentTickets.DEPARTMENT_ID = Departments.DEPARTMENT_ID
FOR XML PATH('')
), 1, 2, '') AS DEPARTMENTS
FROM TICKETS
WHERE TICKET_ID = '100'
ORDER BY ISSUE