我看你这几个表好像有主子表关联,所以不能直接从SS中删,删了数据库会报错,要先去子表中删了要删的记录,消除子记录之后才能删除主表。
先删Game 然后删area 然后删 server 最后才能删login中的数据
你要是只要删除ss表 中的数据
直接用以下的方法就可以了
delete ss from dbo.Login ss
inner join Server gs on ss.ServerId=gs.ServerId
inner join Area ga on gs.AreaId=ga.AreaId
inner join Game g on ga.GameId=g.GameID
where g.GameId=55 and ss.LoginDateId=20010208 and gs.ServerId=36
delete from dbo.Login ss
where ss.date=20010208
and ss.Serverid =
(select top 1 gs.Serverid
from Server gs,Area ga,Game g
where ga.Areaid =gs.Areaid
where g.Gameid =55 and ga.Gameid =g.Gameid)
delete from dbo.Login ss where
exists (
select 1 from Server gs, Area ga,Game g
where gs.AreaId=ga.AreaId
and ga.GameId=g.GameID
and g.GameId=55 and ss.LoginDateId=20010208 and gs.ServerId=36
and ss.ServerId=gs.ServerId
);