내 질문에 대한 SQL 미안 해요 ...SQL #temptable에서 결과를 비교하지만 잘못된 결과가 나타납니다.
내 목표는 2 쿼리의 결과를 비교하는 것입니다. 쿼리 # 2 (12700 레코드)의 결과에없는 쿼리 # 1 (13000 레코드)의 레코드가 필요합니다. 이를 위해
는 내가 첫 번째 쿼리 생성 :SELECT projectnr INTO #temptbl
FROM prproject P JOIN absences A ON p.projectnr = a.freetextfield_01
WHERE projectnr LIKE 'CONL%'
결과가 #temptbl 나에게 13,009 기록했다을
기존 레코드를 필터링해야한다 나의 두번째 쿼리
DELETE FROM #temptbl
WHERE projectnr in (
SELECT freetextfield_01
FROM absences
WHERE TYPE = 7013
GROUP BY freetextfield_01)
검색어의 결과 :
(SELECT freetextfield_01
FROM absences
WHERE TYPE = 7013
GROUP BY freetextfield_01)
은 12715 개의 레코드를 반환합니다.
그러나 전체 쿼리에서 12715 레코드 대신 13009 레코드가 모두 제거됩니다.
아마도 "유인물이 아닌"진술을 사용하여 유인책을 만들 필요는 없지만 그렇게하는 방법을 모르겠습니다. 이 글을 읽는의 문제에 대한
덕분에 ... 그 그룹의 총격 사건이 사용하는 대신 DISTINCT SELECT ... 불필요한
모든 행에 projectnr이 중복됩니까? 이 경우 모든 행이 삭제 될 수 있습니다. – Tanner
실제로 프로젝트 이름에 중복 레코드가 있습니다. 고유 번호라고 생각했지만 그렇지 않았습니다. 그것도 SELECT DISTINCT입니다. –