2014-08-30 67 views
0

我在我的数据库中有10个类似的表。所有的表格都有相同的字段邮件。我想找出发生在3个以上表格中的电子邮件地址。现场邮件不是主键。 在此先感谢。交叉引用跨表的记录

+0

如果你有相同的字段或在10桌组字段,你可能要重新考虑你的数据库设计。它闻起来像缺乏正常化,这会使查询变得困难。 – siride 2014-08-30 18:58:27

+0

数据库需要正常化。它只是一个临时的,我需要一个快速修复 – Tchinmai 2014-10-06 19:12:15

回答

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