不知是SQL下面的查询有效:我能用删除第一个加入SQL
DELETE FROM Reporters
JOIN Cases ON Reporters.CaseId = Cases.ID
WHERE Cases.Court = @Court
我得到一个错误:
Incorrect syntax near join
不知是SQL下面的查询有效:我能用删除第一个加入SQL
DELETE FROM Reporters
JOIN Cases ON Reporters.CaseId = Cases.ID
WHERE Cases.Court = @Court
我得到一个错误:
Incorrect syntax near join
DELETE r
FROM reporters as r
INNER JOIN cases as c
ON r.CaseId = c.ID
WHERE c.Court = @Court
针对没有指定dbms的问题的产品特定答案。 – jarlh
可以呀,你只需指定别名到您的表格并删除使用它:
DELETE R
-- SELECT *
FROM Reporters AS R
INNER JOIN Cases AS C
ON R.CaseId = C.ID
WHERE C.Court = @Court ;
针对没有指定dbms的问题的产品特定答案。 – jarlh
如果你像表一样使用表,它将会工作;
DELETE r
FROM Reporters AS r
INNER JOIN Cases AS c
ON r.CaseId = c.ID
WHERE c.Court = @Court
或者你可以使用
DELETE FROM Reporters
WHERE EXISTS (SELECT 1 FROM Cases WHERE Cases.ID = Reporters.CaseId AND Cases.Court = @Court)
您是否正在使用MS SQL Server?如果是这样,你的问题是重复的https://stackoverflow.com/questions/16481379/how-to-delete-using-inner-join-with-sql-server – jpw
你使用哪些DBMS?标准SQL不支持使用DELETE语句的JOIN –