저는 거의 하루 종일이 문제에 봉착했습니다. 원하는 결과 집합을 반환하는 쿼리를 작성하지 못했고 심지어 알지도 못했습니다. 내가 직면하고있는이 이슈를 올바르게 말하는 법.TSQL - 유일한 기준을 충족하는 사용자를 제외하십시오
에만 '9 %'와 같은 ItemNumber 레코드가있는 고객을 제외하거나 플래그를 지정하는 것이 목표입니다. 그 레코드와 연관된 ONLY ItemNumbers '이 9 %'처럼이 예에서는
CustomerID ItemNumber
85610 99
85611 11
85611 99
85612 13
85612 11
85612 98
85613 98
85613 99
는 CustomerIDs 86,510 및 86,513이 제외 또는 신고한다.
저는 계속 지키 겠지만, 제가 간과하고있는 것이 정말 간단하다는 느낌이 들었습니다. 나는 도움을 주셔서 감사합니다.
마이크
일이있는
WHERE
조항을 포함하지 - 매우 영리한. 관련 메모에서 테이블의 실제 칼럼 대신'EXISTS'에'SELECT 1'을 사용하면 성능이 향상됩니까? – Lamak@Lamak 아니, 성능 차이는 없습니다. SQL Server는 EXISTS 내부의 모든 항목을 구체화 할 필요가 없음을 알고 있습니다. SELECT * 또는 SELECT를 열 수 있으며 계획을 조금 변경하지는 않습니다. 저는이 하위 쿼리가 어떤 데이터도 선택하지 않는다는 것을 독자에게 분명히 알기 때문에 상수를 사용하는 것을 좋아합니다. –
확인해 주셔서 감사합니다. – Lamak