Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 比较sql表和_Php_Sql - Fatal编程技术网

Php 比较sql表和

Php 比较sql表和,php,sql,Php,Sql,我想知道如何比较两个表,如果它们具有相同的值,则显示它们 我的原始表是user_信息,还有30个其他表具有不同的名称,但它们都具有相同的名称 相同的栏目包括电子邮件、姓名和网站 如何自动将用户信息表与所有其他30个表进行比较,包括我稍后添加的任何新表。您需要的基本上是此sql server: Select email, name, website from table1 intersect Select email, name, website from table2 .... 等等 我们应

我想知道如何比较两个表,如果它们具有相同的值,则显示它们

我的原始表是user_信息,还有30个其他表具有不同的名称,但它们都具有相同的名称 相同的栏目包括电子邮件、姓名和网站


如何自动将用户信息表与所有其他30个表进行比较,包括我稍后添加的任何新表。

您需要的基本上是此sql server:

Select email, name, website from table1
intersect
Select email, name, website from table2 .... 
等等

我们应该做到这一点

如果您正在对MySQL数据库运行查询:

SELECT DISTINCT email, name, website FROM table1
INNER JOIN table2
USING (email, name, website);

显示一些虚拟数据和您尝试的内容但是为什么30个表具有相同的列???您应该构建一个更好的数据库模式如果您希望合并表中的数据而不重复,请阅读以下内容:您永远不需要30个表具有相同的数据。只需添加一个新的列来分隔。但这意味着我必须手动添加表名,没有办法使其自动类似于:从§current_user_table那里选择电子邮件、名称、网站。但首先,您使用的是什么类型的数据库?您可能会发现将它们全部连接起来更容易,但这里是这样的:从information_schema.tables中选择table_name,其中table_schema=;这将为您提供表名。如果需要,用LIKE过滤。然后,这对性能不利,请使用游标成对地连接表,如我在回答中所述。基本上,对于每个表,连接下一个表并查看它们都包含哪些行。如果在处理所有表之后,结果仍然包含行,则所有表都包含这些行。