2017-02-13 7 views
1

Я получаю список ID и от имени этого ID я получаю список записей Я прилагаю записи деталей в образе enter image description hereКак получить Distinct Email ID с muiltiple записями, где ID = @ ID

, как вы видите на картинке я получаю дубликат электронной почты ID, так что для создания электронного идентификатора уникальным Я использовал этот запрос Вот мой запрос

WITH cte AS 
( SELECT *, ROW_NUMBER() OVER (PARTITION BY Email ORDER BY ID Desc) AS rn 
    FROM AlertsTbl 
) 
SELECT * 
FROM cte 
WHERE rn = 1 

так я получаю уникальный электронный идентификатор на это, но проблема в том, как я могу передать идентификатор, который был выбран на изображении, чтобы отображать записи, которые имеют только уникальный адрес электронной почты addre сс?

+1

Не могли бы вы показать нам пример и ожидаемый результат? Похоже на 'WHERE ID = @ID GROUP BY Email HAVING COUNT (1) = 1' – Prisoner

+0

Хотите записи, имеющие уникальное электронное письмо? –

+0

да сэр записи, имеющие уникальный адрес электронной –

ответ

0

Надеюсь, я правильно понял ваш вопрос.

Пытался создать подобный сценарий. Я думаю, что запрос может помочь.

Sqlfiddle ссылка - http://sqlfiddle.com/#!6/8419b/1/0

WITH cte AS 
( 
SELECT email , 
id, ROW_NUMBER() OVER (PARTITION BY Email ORDER BY ID Desc) AS rn , 
count(email) over (PARTITION BY Email) cnt 
    FROM so_test 
) 
    SELECT * 
FROM cte 
WHERE cnt = 1; 
+0

Я уже применил ваше решение –

+0

Как мне пройти идентификатор в вышеуказанном запросе –

+0

Извините, я не понял. Пожалуйста, объясните, что вы хотите сказать – Tajinder

0
SELECT * FROM AlertsTbl 
WHERE Email IN (
SELECT Email 
FROM AlertsTbl 
GROUP BY Email 
HAVING COUNT(*) = 1) 
0

Ваш вопрос немного запутанным. Вы хотите получить отдельный идентификатор электронной почты для индивидуального идентификатора. Но вы сохранили дублированный идентификатор электронной почты для нескольких ID. Если вы передадите один идентификатор, вы получите один идентификатор электронной почты. Если вы хотите, чтобы только отдельный Email-идентификатор, вы можете использовать

Select Distinct(EMail) FROM AlertsTbl 
Смежные вопросы