Sql 如何循环执行select语句的结果并触发另一个查询?

Sql 如何循环执行select语句的结果并触发另一个查询?,sql,sql-server,tsql,foreach,Sql,Sql Server,Tsql,Foreach,对不起,如果我的标题很糟糕,我想不出如何更好地表达它 我有以下资料: select @AMTrackid = AudioMediaTrackId from AudioMediaTrack where AudioMediaId = @Aid delete from AudioMediaTrackArtist where AudioMediaTrackId = @AMTrackid 此时,我想从AudioMediaTrackArtister中删除返回的每个@AMTrackid 现在确定我

对不起,如果我的标题很糟糕,我想不出如何更好地表达它

我有以下资料:

  select @AMTrackid = AudioMediaTrackId from AudioMediaTrack where AudioMediaId = @Aid

  delete from AudioMediaTrackArtist where AudioMediaTrackId = @AMTrackid
此时,我想从AudioMediaTrackArtister中删除返回的每个@AMTrackid

现在确定我该怎么做


提前谢谢

除了@M.Ali answer,
delete
语句还有一个
from
部分,您可以将要从中删除的表与任何表连接起来

delete from AudioMediaTrackArtist
where AudioMediaTrackId IN (
                            select AudioMediaTrackId 
                             from AudioMediaTrack 
                             where AudioMediaId = @Aid
                            )
因此,您可以使用这种方法删除单个delete语句中的记录

delete AudioMediaTrackArtist
    from AudioMediaTrackArtist join AudioMediaTrack 
        on AudioMediaTrackArtist.AudioMediaTrackId = AudioMediaTrack.AudioMediaTrackId
where AudioMediaTrack.AudioMediaId = @Aid