Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Excluir do CTE com junção


Você pode usar exists() em vez da junção interna para MyTable no CTE.
with cte as 
(
  select top(1) q.id,
                q.col1
  from queue q with (readpast)
  where exists(
              select *
              from  MyTable a 
              where  q.id = a.myTableID AND 
                     a.procID = @myParam
              )
  order by q.Data asc
)
delete from cte
output deleted.ID, deleted.col1;