Таблица Шаблон имеет один столбец со следующими значениями:разделенных запятыми рассчитывать значения
NewsletteridPattern
------------
%50%
%51%
Таблица B имеет следующие значения:
SubscriberId NewsletterIdCsv
------------ -----------------
47421584 51
45551047 50,51
925606902 50
47775985 51
У меня есть следующий запрос, который в основном подсчитывает запятыми значения с использованием рисунка:
SELECT *
FROM TABLEB t WITH (nolock)
JOIN Patterns p ON (t.NewsletteridPattern LIKE p.pattern)
Проблема в том, что счет неверен как для примера le my pattern имеет% 50% и% 51%, и поэтому номер строки 2 из таблицы B следует пересчитывать дважды, однако мой запрос - только один раз, как это сделать?
EDIT:
Я забыл добавить 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