我想使用单个查询从4个表中删除数据。使用Inner Join删除行
delete e1,e2,e3,e4 FROM sas.RolesInMenuOperations as e1 INNER JOIN
sas.RolesMenus as e2 ON e1.RoleMenuId = e2.Id INNER JOIN
sas.RolesInModules as e3 ON e2.RolesInModulesId = e3.Id INNER JOIN
sas.Roles as e4 ON e3.RoleId = e4.Id
where e4.Id=5
这就是我迄今为止所做的。我在引用this链接 是否可以使用连接从4个表中删除数据。 如何实现这个或我想写4个不同的查询?
虽然此查询工作正常
delete e1 FROM sas.RolesInMenuOperations as e1 INNER JOIN
sas.RolesMenus as e2 ON e1.RoleMenuId = e2.Id INNER JOIN
sas.RolesInModules as e3 ON e2.RolesInModulesId = e3.Id INNER JOIN
sas.Roles as e4 ON e3.RoleId = e4.Id
where Roles.Id=5
这将在'MySQL'上工作,但不在'SQL Server'上。 – 2013-03-25 07:21:20
这是否有其他解决方法? – 2013-03-25 07:22:03
@JW:从SQL Server中的多个表中删除将需要多个查询,对吧? – Rachcha 2013-03-25 07:25:55