从SQL Server 2008 R2中的联接表中删除行

从SQL Server 2008 R2中的联接表中删除行,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有两张桌子: CREATE TABLE [Training].[UserTrainingModuleResults]( [UserTrainingModuleResultId] [int] IDENTITY(1,1) NOT NULL, [TrainingModules_TrainingModuleId] [int] NOT NULL, [Users_UserId] [int] NOT NULL, [DateAndTimeStarted] [datetime] NOT NULL, [DateA

我有两张桌子:

CREATE TABLE [Training].[UserTrainingModuleResults](
[UserTrainingModuleResultId] [int] IDENTITY(1,1) NOT NULL,
[TrainingModules_TrainingModuleId] [int] NOT NULL,
[Users_UserId] [int] NOT NULL,
[DateAndTimeStarted] [datetime] NOT NULL,
[DateAndTimeCompleted] [datetime] NULL,
[NumberOfQuestionsAnswered] [smallint] NOT NULL,
[NumberOfQuestionsAnsweredCorrectly] [smallint] NOT NULL,
[TrainingModuleStatuses_TrainingModuleStatusId] [smallint] NOT NULL,
  CONSTRAINT [PK_UserTrainingModuleResults] PRIMARY KEY CLUSTERED 
(
[UserTrainingModuleResultId] ASC
  )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF,    ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

然后我有一个脚本必须从ViewTrainingModuleHistory中删除,其中TrainingModules\u TrainingModuleId=UserTrainingModuleResults.TrainingModules\u TrainingModuleId

delete from History.TrainingModuleCompletedHistory as tmch  //syntax error here
  left join Training.UserTrainingModuleResults as utmr
on utmr.UserTrainingModuleResultId = tmch.UserTrainingModuleResults_UserTrainingModuleResultId
where utmr.Users_UserId = 446 and tmch.UserTrainingModuleResults_UserTrainingModuleResultId = 110
以上不正确,我在“as”附近得到语法错误 请帮忙
谢谢

别名应该在单词后面:

delete tmch---<要从中删除记录的表的别名在此处
从History.training模块完成History tmch
left join Training.UserTraining模块结果utmr
在utmr.UserTrainingModuleResultId=tmch.UserTrainingModuleResults\u UserTrainingModuleResultId上
其中utmr.Users\u UserId=446
和tmch.UserTrainingModuleResults\u UserTrainingModuleResultId=110

别名应紧跟在单词后面:

delete tmch---<要从中删除记录的表的别名在此处
从History.training模块完成History tmch
left join Training.UserTraining模块结果utmr
在utmr.UserTrainingModuleResultId=tmch.UserTrainingModuleResults\u UserTrainingModuleResultId上
其中utmr.Users\u UserId=446
和tmch.UserTrainingModuleResults\u UserTrainingModuleResultId=110

154个问题,只投了6票。人们可能会开始质疑,如果你从不奖励任何人,他们是否应该费心帮忙。提出了154个问题,只投了6张赞成票。如果你从不奖励任何人,人们可能会开始质疑他们是否应该帮忙。
delete from History.TrainingModuleCompletedHistory as tmch  //syntax error here
  left join Training.UserTrainingModuleResults as utmr
on utmr.UserTrainingModuleResultId = tmch.UserTrainingModuleResults_UserTrainingModuleResultId
where utmr.Users_UserId = 446 and tmch.UserTrainingModuleResults_UserTrainingModuleResultId = 110
delete tmch   --- < alias of table to delete records from goes here
from History.TrainingModuleCompletedHistory tmch  
left join Training.UserTrainingModuleResults utmr
  on utmr.UserTrainingModuleResultId = tmch.UserTrainingModuleResults_UserTrainingModuleResultId
where utmr.Users_UserId = 446 
  and tmch.UserTrainingModuleResults_UserTrainingModuleResultId = 110
delete tmch  
from History.TrainingModuleCompletedHistory tmch  
left join Training.UserTrainingModuleResults utmr
on utmr.UserTrainingModuleResultId = tmch.UserTrainingModuleResults_UserTrainingModuleResultId
where utmr.Users_UserId = 446 
and tmch.UserTrainingModuleResults_UserTrainingModuleResultId = 110
delete tmch  
from History.TrainingModuleCompletedHistory tmch
  left join Training.UserTrainingModuleResults utmr
on utmr.UserTrainingModuleResultId = tmch.UserTrainingModuleResults_UserTrainingModuleResultId
where utmr.Users_UserId = 446 and tmch.UserTrainingModuleResults_UserTrainingModuleResultId = 110