У меня проблема с запросом, который должен вернуть только указанный набор результатов c, однако он возвращает все значения. По сути, я пытаюсь обновить столбец электронной почты в одной таблице значениями из списка из другой, внутренний запрос работает так, что я могу получить правильные имена / фамилии, но внешний запрос возвращает все электронные письма, и я только Я хочу, чтобы письма из перечисленных значений.
SELECT DISTINCT WorkEmail FROM stafftbl WHERE EXISTS (
SELECT DISTINCT FirstName,LastName -- inner query starts here
FROM assignments
WHERE Email IN
(SELECT email
FROM
(VALUES
('josh@myjob.org'),
('pete@myjob.org'),
('willy@myjob.org'),
('linda@myjob.org'),
('mary@myjob.org'),
('james@myjob.org'),
('ahmed@myjob.org'),
('horatio@myjob.org'),
('luke@myjob.org'),
('terri@myjob.org'),
('chuck@myjob.org'),
('betty@myjob.org'),
('bigbob@myjob.org'),
('arthur@myjob.org'),
('Ajessica@myjob.org') -- there's a lot more than these.
)E(email)) -- inner query ends here
)
Я знаю, что, вероятно, использую, существует неправильно, но я знаю, что я на правильном пути, так как я могу получить пары имен из assignments
таблица, я просто не хочу возвращать весь столбец. Буду признателен за любую помощь.
РЕДАКТИРОВАТЬ:
Да, есть дубликаты в assignments
, и WorkEmail не соответствует всей электронной почте! Я обновлю столбец электронной почты assignments
, если смогу получить из списка соответствующие электронные письма, которые будут совпадать с именами / фамилиями в таблице stafftbl
.