Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Mit Join aus CTE löschen

Sie können exists() verwenden anstelle des inneren Joins zu MyTable im 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;