У меня есть эти столбцы:SQL: сравнение строки с колонки и колонки с колонки на основе результатов первых сравнить
типыID, Last_Name, First, Email, Email type
электронной почты являются PERS и РАБОТА Человек может иметь как PERS и РАБОТУ адрес электронной почты. Рабочий адрес содержит Last_Name в адресе электронной почты.
Пример:
14569, Smith, Joe, [email protected], PERS
14569, Smith, Joe, [email protected], WORK
59876, Conway, Mary, [email protected], PERS
59876, Conway, Mary, [email protected], WORK
79654, Far, John, [email protected], PERS
79654, Far, John, [email protected], WORK
Вот что я пытаюсь сделать: Я ищу людей, которые имеют свою работу электронной почты, перечисленные в их личной электронной почты поле.
Поле электронной почты может содержать как рабочие, так и личные адреса электронной почты. Если тип электронной почты = PERS и содержит «my.company.com», я хочу посмотреть на адрес электронной почты PERS, чтобы узнать, не содержит ли оно Last_Name.
Результатов должны быть как некорректные Pers электронной почты и правильная работа по электронной почте:
79654, Far, John, [email protected], PERS
79654, Far, John, [email protected], WORK
SELECT
ID, pp.Last_Name, pp.First, em.Email, em.Email_type
from Somewhere pp
join emailarea em
on id.somewhere_ID = em.email_ID
where
(em.email_type = 'PERS' or em.email_type = 'WORK')
and
(em.email_type = 'PERS' and em.email like '%my.company.com')
and
em.email not like Last_Name
Как сравнить em.email к Last_Name? Кроме того, поскольку я говорю, что это должно быть PERS, он не покажет мне никаких адресов электронной почты WORK. Мне тоже нужна помощь в этой проблеме. Результаты:
14569, Smith, Joe, [email protected], PERS
59876, Conway, Mary, [email protected], PERS
79654, Far, John, [email protected], PERS
Какая СУБД вы используете? Postgres? Oracle? –
Так как рабочая электронная почта должна содержать фамилию, разве она не должна смотреть на нее, чтобы увидеть, не содержит ли она фамилию, а не личную электронную почту? – Barmar