2014-08-30 7 views
0

У меня есть 10 похожих таблиц в моей базе данных. все таблицы имеют одинаковое полевое сообщение. Я хочу узнать адреса электронной почты, которые встречаются в более чем трех таблицах. полевая электронная почта не является первичным ключом. Спасибо заранее.перекрестные ссылки в таблицах

+0

Если у вас есть такое же поле или набор полей в 10 таблицах, вы можете пересмотреть свой проект базы данных. Он пахнет отсутствием нормализации, что затруднит выполнение запросов. – siride

+0

необходимо нормализовать базу данных. его просто временный, и мне нужно быстро исправить – Tchinmai

ответ

0

Вы можете использовать функцию count по union all запросу:

SELECT email, COUNT(*) AS num_tables 
FROM  (SELECT DISTINCT email FROM table1 
      UNION ALL 
      SELECT DISTINCT email FROM table2 
      UNION ALL 
      -- All the other tables 
     ) t 
GROUP BY email 
HAVING COUNT(*) > 1 
Смежные вопросы