Благодаря @Ed Gibbs мне удалось решить мою первую проблему в этом случае (Выбрать дубликат и оставить самый старый (не на основе идентификатора))
Теперь я столкнулся с новой проблемой, которую не могу решить.
У меня есть две таблицы: «домен», в котором нет дубликатов, и «электронная почта», содержащая дубликаты. В первой таблице у меня было значение под названием «дата создания», которое я использовал в качестве фильтра. Во второй таблице у меня нет фильтра, но некоторая информация может (я думаю) использоваться в качестве фильтра.
Домен таблицы:
| domain | value 1 | foreign_key |
|------------|---------|-------------|
| google.com | patrick | X |
| yahoo.com | britney | Y |
| ebay.com | harry | Z |
Электронная почта таблицы:
| email | value 1 | foreign_key |
|--------------------|---------|-------------|
| [email protected] | patrick | X |
| [email protected] | britney | Y |
| [email protected] | mary | X |
| [email protected] | jack | X |
| [email protected] | walter | Z |
| [email protected] | brian | Y |
Как видно из первой таблицы, домен google.com обрабатывается X Foreign_key. В таблице адресов электронной почты записи "[email protected],patrick,X" и "[email protected],mary,X" в порядке, поскольку они соответствуют правильному иностранному ключу. Проблема заключается в таких записях, как «[email protected],britney,Y», Y не является связанным Foreign_key с доменом google.com, поэтому я хочу его удалить.
Вот искомая таблица:
| email | value 1 | foreign_key |
|--------------------|---------|-------------|
| [email protected] | patrick | X |
| [email protected] | mary | X |
| [email protected] | jack | X |
| [email protected] | walter | Z |
| [email protected] | brian | Y |
Как я могу выбрать эти данные без ошибочных записей? Я думаю, что ключом проблемы является concat/substring, но я не могу понять, как это сделать.
Спасибо за вашу помощь.