Тема: Запрос mysql
Показать сообщение отдельно
  #8 (permalink)  
Старый 12.11.2020, 16:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Для того чтобы вывести дубликаты в таблице нужно использовать группировку, то есть запрос типа:
"SELECT COUNT(field_name) duplicate, CONCAT('tel-', field_name) duplicate_name  FROM  table_name WHERE GROUP BY duplicate_name ORDER BY duplicate"

Этот запрос вернет типа:
3 tel-77777777777
8 tel-99999999999
.....

Для того чтобы получить во всех таблицах их нужно соединить и поиск дубликатов искать в объединенной таблице по выше приведенному запросу, а CONCAT('tel-', field_name) duplicate_name, это нужно сформировать свое для каждой из таблиц при объединении.
Но нельзя отобразить в одной группе разные сущности, то есть, если в таблице А и в таблице В есть дубликаты, при этом в таблице А таких 5, а таблице В 10, при этом алиасы полей этих дубликатов различны, то это будет две группы с количеством 5 и 10 показывающие одни и те же номера. Но может это как раз и нужно.

Последний раз редактировалось laimas, 13.11.2020 в 08:33.
Ответить с цитированием