David_Wimbley
Сам ваш запрос не имеет смысла, поэтому я не совсем уверен, что вы пытаетесь сделать. Учитывая, что у нас нет доступа к вашему коду, компьютер, и мы ничего не знаем о вашем проекте, я попытаюсь направить вас в общем направлении.
Во-первых, ваш запрос использует предложение where, где вы пытаетесь получить все значения rEmail, которые появляются в подзапросе. У вас тут есть несколько проблем.
Подзапрос может возвращать только 1 значение в сочетании с "IN", а вы возвращаете 2.
Ваша вторая проблема заключается в том, что вы ищете, где находится rEmail IN, но ваши 2 столбца, в которых вы пытаетесь выполнить поиск, - это столбец Id и агрегат, которые не имеют ничего общего с адресом электронной почты.
С учетом сказанного ниже приводится общая идея с примером схемы того, что вам нужно сделать.
DECLARE @Reviewer TABLE (
rEmail varchar(200) NULL
);
DECLARE @PaperReviewer TABLE (
rEmail varchar(200) NULL
);
INSERT @Reviewer (rEmail) VALUES ('Test1');
INSERT @Reviewer (rEmail) VALUES ('Test2');
INSERT @PaperReviewer (rEmail) VALUES ('Test2');
SELECT * FROM @Reviewer WHERE rEmail IN (SELECT rEmail FROM @PaperReviewer);
Приведенный выше пример будет работать (при условии, что я ничего не толстил пальцем, не запускал его сам) в том смысле, что вы должны видеть только Test2, возвращаемый в этом запросе.
Ваша альтернатива-использовать предложение WHERE / EXISTS, если вам нужно просмотреть запись по нескольким столбцам.
Учитывая, что вы использовали предложение IN, я не буду идти по этому пути, так как думаю, что ваша проблема заключается в том, что вы, вероятно, либо новичок в sql, либо не понимаете свою схему.
Если у вас есть вопросы, я сделаю все возможное, чтобы помочь, но с той небольшой информацией, которая у меня есть, вышеизложенное должно обеспечить то, что вам нужно.