0
我在我的数据库中有10个类似的表。所有的表格都有相同的字段邮件。我想找出发生在3个以上表格中的电子邮件地址。现场邮件不是主键。 在此先感谢。交叉引用跨表的记录
我在我的数据库中有10个类似的表。所有的表格都有相同的字段邮件。我想找出发生在3个以上表格中的电子邮件地址。现场邮件不是主键。 在此先感谢。交叉引用跨表的记录
你可以使用一个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
如果你有相同的字段或在10桌组字段,你可能要重新考虑你的数据库设计。它闻起来像缺乏正常化,这会使查询变得困难。 – siride 2014-08-30 18:58:27
数据库需要正常化。它只是一个临时的,我需要一个快速修复 – Tchinmai 2014-10-06 19:12:15