표 패턴은 다음의 값과 하나의 열 보유 카운트 분리쉼표 값
SubscriberId NewsletterIdCsv
------------ -----------------
47421584 51
45551047 50,51
925606902 50
47775985 51
를 I가 기본적 콤마 구분 값을 계산하는 다음의 질의 패턴을 사용하여 :
SELECT *
FROM TABLEB t WITH (nolock)
JOIN Patterns p ON (t.NewsletteridPattern LIKE p.pattern)
문제는 카운트가 잘못되었습니다. 르 내 패턴은 % 50 %와 % 51 %를 가지고 있으므로 테이블 B의 행 번호 2를 두 번 계산해야하지만, 내 쿼리는 단 한 번만 어떻게해야합니까?
편집 : 나는 문제의 원인이 된 내 원래의 쿼리에 DISTINCT 추가하는 것을 잊었다
: 나는 같은 데이터를 조롱
SELECT Count(Distinct Subscriberid)
FROM TABLEB t WITH (nolock)
JOIN Patterns p ON (t.NewsletteridPattern LIKE p.pattern)
이 쿼리는 올바르게 행을 세고 있습니다.이 데모를보십시오. http://sqlfiddle.com/#!3/b9cd3/4 – Taryn