무결성 검사가 부족하여 기본 키 열에 여러 개의 중복 된 테이블이 있습니다. 그럴 수 있으니 중복 된 부분을 제거하려고합니다. 문제는, id
란이 없기 때문에 중복 된 것을 찾는 것이 중요하지 않다는 것을 의미합니다.행에서 행을 삭제 SAS의 B에서 일치하는 행
현재 해결책은 count(*)... having
구문을 사용하여 두 번째 테이블을 만들고 여기에 삭제할 행을 선택하는 것입니다. 다른 사람의 내용을 기반으로 하나 개의 테이블에서 삭제할 수있는 방법이
proc sql;
delete from TableA
where (v1,v2,v3) in TableB
있습니까 : 내 문제는 SAS delete
명령은 다음을 허용하지 않는다는 것입니다? 다른 값 등
proc sql;
delete from TableA as a
where a.v1 = (select b.v1 from TableB as b where a.primaryKey = b.foreignKeyForTableA)
과 :
코드에 여분의 괄호가 있습니다. 단지 확인하고 싶다고 생각합니다. – eykanal
@eykanal. . . 예, 원래는 in 문으로 작성한 후 NULL이 문제를 일으킬 수 있음을 알았습니다. 나는 여분의 열린 p을 떠난 것 같았다. –
안녕하세요 고든, 변경 사항을 확인해 주시겠습니까 와카, 그들은 첫눈에 괜찮아 보였다 ...하지만 난 아무 SQL 전문가 ... –