나는 아래의 쿼리를 사용하여 삭제하려고하지만 불행히도, 모든 기록은하위 쿼리 및 교차를 사용하여 삭제 하시겠습니까?
DELETE [dbo].[devicelinks]
FROM
(SELECT *
FROM [dbo].[devicelinks]
WHERE PID = 7
INTERSECT
SELECT *
FROM ASC.dbo.DEVICE_LINK
WHERE PID = 7)
어떻게 제대로 소스 테이블에서 해당 레코드를 삭제하기 위해 하위 쿼리를 사용하여 삭제?
두 테이블 중 하나에 키 또는 제약 조건이 없습니다. 당신은 기록을 감지하는 EXISTS
을 사용할 수 있습니다
나는 이것을 시도 할 수 있지만 바인딩 목록에서 두 개 이상의 열을 확인해야합니다. – coffemug
"and [dbo]."와 같은 조인 절을 추가 할 수 있습니다. [devicelinks] .MyField = ASC.dbo.DEVICE_LINK.MyField "You cha가 필요로하는 것 중 많은 수를 가지고 있습니다 – RegBes
추천, 하위 쿼리 또는 합류 – coffemug