id | expediente_id | area_id
1 5 1
2 5 3
3 6 1
4 7 5
5 7 8
[Hola tengo la una tabla N a N.Queríasaber como puedo obtener los expediente_id que cumplen con todas las area_id en forma combinada。便利店1的单人房,便利店的单人房1,便利店的单人房6。在地区1到3的科罗拉多州单人房5年6月。(1,5,8)是否是权宜之计在escacombinación上没有权宜之计。Necesito Saber como puedo hacer la parte del哪里。格拉西亚斯
您将必须使用动态SQL
declare @area_id as varchar(10)
declare @sql nvarchar(Max)
set @area_id = '1,3';
IF EXISTS(SELECT *
FROM tbl)
DROP TABLE tbl
select 1 as id, 5 as expediente_id , 1 as area_id into tbl
union select 2 , 5 , 3
union select 3 , 6 , 1
union select 4 , 7 , 5
union select 5 , 7 , 8
set @sql = 'select expediente_id from tbl where area_id in ('+@area_id+')
group by expediente_id
having count(*) = (
select count(distinct area_id)
from tbl where area_id in ('+@area_id+')
)'
exec sp_executesql @sql