Q&A for professional and enthusiast programmers
with firstrev_cte AS ( SELECT MIN(ph.Id) AS MinId, p.Id FROM Posts p JOIN PostHistory ph ON ph.PostId=p.Id WHERE (ph.Text LIKE '%<##tagName1##>%') AND NOT(ph.Text LIKE '%<##tagName2##>%') AND NOT(ph.Text LIKE '%<##tagName3##>%') AND (ph.PostHistoryTypeId in (3,6,9)) GROUP BY p.Id ) SELECT PostId AS [Post Link], url = 'site://posts/' + CAST(PostId AS varchar)+'/revisions', UserId AS [User Link], UserDisplayName, CreationDate, Comment, Text AS [Tags] FROM PostHistory INNER JOIN firstrev_cte ON PostHistory.Id=MinId ORDER BY CreationDate DESC