[英]Delete a row from a Joined table in SQL Server 2008 R2
i have two tables: 我有两张桌子:
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]
and 和
CREATE TABLE [History].[ViewTrainingModuleHistory](
[HistoryId] [int] NOT NULL,
[TrainingModules_TrainingModuleId] [int] NOT NULL,
CONSTRAINT [PK_ViewTrainingModuleHistory] PRIMARY KEY CLUSTERED
(
[HistoryId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
then i have a script that must delete from the ViewTrainingModuleHistory where TrainingModules_TrainingModuleId = UserTrainingModuleResults.TrainingModules_TrainingModuleId 然后我有一个必须从ViewTrainingModuleHistory中删除的脚本,其中TrainingModules_TrainingModuleId = UserTrainingModuleResults.TrainingModules_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
the above is not correct, i get syntax error near "as" please help thanks 上面的是不正确的,我在“ as”附近收到语法错误,请帮忙谢谢
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
The alias should be right after the word DELETE
: 别名应在单词
DELETE
:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.