我想显示那些没有 D1 的事件。
这是表架构
Create table #tmp (ID int,stopid int,Events nvarchar(10))
Insert into #tmp values (1,1,'AF')
Insert into #tmp values (1,1,'X1')
Insert into #tmp values (1,2,'D1')
Insert into #tmp values (1,2,'AF')
这是我正在尝试的逻辑。
SELECT DISTINCT s.ID
FROM #tmp s
WHERE
NOT EXISTS (
SELECT 1
FROM #tmp s_inner
WHERE s_inner.ID = s.ID AND s_inner.stopid=s.stopid and s_inner.Events=s.Events
AND s.Events = 'D1'
) AND
s.ID = 1
预期产出
ID stopid Events
1 1 AF
1 1 X1
我想显示所有没有D1的ID。
SELECT s.ID, StopID, Events
FROM #tmp s
WHERE NOT EXISTS (SELECT 1 from #tmp WHERE Events = 'D1' and StopID=s.StopID)
身份证 | 停止ID | 活动 |
---|---|---|
1 | 1 | AF |
1 | 1 | X1 |