SQL Server 2008INNER JOIN
에서 를 사용하여 삭제하고 싶습니다 .
하지만이 오류가 발생합니다.
메시지 156, 수준 15, 상태 1, 줄 15
키워드 ‘INNER’근처의 구문이 잘못되었습니다.
내 코드 :
DELETE FROM WorkRecord2
INNER JOIN Employee ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'
답변
삭제할 테이블을 지정해야합니다. 다음은 별칭이있는 버전입니다.
DELETE w
FROM WorkRecord2 w
INNER JOIN Employee e
ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'
답변
삭제할 테이블을 지정해야하므로 레코드를 삭제하려는 위치 DELETE
와 그 사이에 테이블 이름을 추가하십시오 FROM
. 또한 제거ORDER BY
레코드를 삭제하는 동안 주문할 항목이 없으므로 절을 .
따라서 최종 쿼리는 다음과 같아야합니다.
DELETE WorkRecord2
FROM WorkRecord2
INNER JOIN Employee
ON EmployeeRun=EmployeeNo
WHERE Company = '1'
AND Date = '2013-05-06';
답변
가능하면 도움이 될 것입니다.
DELETE FROM dbo.WorkRecord2
WHERE EmployeeRun IN (
SELECT e.EmployeeNo
FROM dbo.Employee e
WHERE ...
)
아니면 이것을 시도하십시오-
DELETE FROM dbo.WorkRecord2
WHERE EXISTS(
SELECT 1
FROM dbo.Employee e
WHERE EmployeeRun = e.EmployeeNo
AND ....
)
답변
이 시도:
DELETE FROM WorkRecord2
FROM Employee
Where EmployeeRun=EmployeeNo
And Company = '1'
AND Date = '2013-05-06'
답변
그것은해야한다:
DELETE zpost
FROM zpost
INNER JOIN zcomment ON (zpost.zpostid = zcomment.zpostid)
WHERE zcomment.icomment = "first"
답변
이 버전은 작동합니다
DELETE WorkRecord2
FROM WorkRecord2
INNER JOIN Employee ON EmployeeRun=EmployeeNo
Where Company = '1' AND Date = '2013-05-06'
답변
SQL Server Management Studio에서 SELECT
쿼리를 쉽게 만들 수 있습니다 .
SELECT Contact.Naam_Contactpersoon, Bedrijf.BedrijfsNaam, Bedrijf.Adres, Bedrijf.Postcode
FROM Contact
INNER JOIN Bedrijf ON Bedrijf.IDBedrijf = Contact.IDbedrijf
실행할 수 있고 모든 연락처가 표시됩니다.
이제 변경 SELECT
A를 DELETE
:
DELETE Contact
FROM Contact
INNER JOIN Bedrijf ON Bedrijf.IDBedrijf = Contact.IDbedrijf
당신이 본 모든 기록 SELECT
명세서 삭제됩니다.
동일한 절차를 사용하여 더 어려운 내부 조인을 만들 수도 있습니다 (예 :
DELETE FROM Contact
INNER JOIN Bedrijf ON Bedrijf.IDBedrijf = Contact.IDbedrijf
INNER JOIN LoginBedrijf ON Bedrijf.IDLoginBedrijf = LoginBedrijf.IDLoginBedrijf