2016-09-29 7 views
-3

에 DELETE 절과 함께 가입 SQL에서 다음 쿼리 유효 사용할 수내가 내가 궁금해 SQL

Incorrect syntax near join

+0

MS SQL Server를 사용하고 있습니까? 그렇다면 귀하의 질문은 https://stackoverflow.com/questions/16481379/how-to-delete-using-inner-within-with-sql-server – jpw

+3

의 사본입니다. 어떤 DBMS를 사용하고 있습니까? 표준 SQL은 DELETE 문이있는 JOIN을 지원하지 않습니다. –

답변

1

언급을 사용할 수있는 당신이에서 삭제할 원 테이블에서. (이 솔루션은 SQL Server에만 해당됩니다)

DELETE re --if you wanted to delete the cases replace `re` with `ca` 
FROM Reporters re 
JOIN Cases ca ON re.CaseId = ca.ID 
    WHERE ca.Court = @Court 
+0

DBMS가없는 질문에 대한 제품 별 답변입니다. – jarlh

+0

도움 주셔서 감사합니다. – ppetyr

1
DELETE r 
FROM reporters as r 
INNER JOIN cases as c 
ON r.CaseId = c.ID 
    WHERE c.Court = @Court 
+1

DBMS가없는 질문에 대한 제품 별 답변이 매우 다양합니다. – jarlh

1

당신이 할 수있는 예, 테이블에 별칭을 지정하고 삭제해야합니다.

+0

dbms가 지정되지 않은 질문에 대한 제품 별 답변입니다. – jarlh

1

테이블을 별칭으로 지정하면 작동합니다.

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)