Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Elimina da CTE con join

Puoi usare exists() invece del join interno a MyTable nel 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;