как написать запрос для следующего запроса?
мой стол:
id designation
1 developer,tester,projectlead
1 developer
1 techlead
if id=1,designation="'developer'"
Тогда надо первую, вторую записи. Потому что в 2 рядах есть венкат.
если id=1,designation="'developer','techlead'"
, тогда нужно получить 3 записи в результате.
я написал один сервис для вставки записей в эту таблицу. так что я поддерживаю одну таблицу для хранения всех обозначений с одним и тем же столбцом с запятыми.
Используя сервис, если пользователь передает id = 1 обозначение = "'разработчик', 'techlead'", тогда нужно извлечь 3 вышеуказанные записи. Так что я сохраняю только одну таблицу, чтобы сохранить все обозначения
SP:
ALTER PROCEDURE [dbo].[usp_GetDevices]
@id INT,
@designation NVARCHAR (MAX)
AS
BEGIN
declare @idsplat varchar(MAX)
set @idsplat = @UserIds
create table #u1 (id1 varchar(MAX))
set @idsplat = 'insert #u1 select ' + replace(@idsplat, ',', ' union select ')
exec(@idsplat)
Select
id FROM dbo.DevicesList WHERE id=@id AND designation IN (select id1 from #u1)
END