Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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
Sql 从两个不同的数据库中选择数据并进行比较_Sql - Fatal编程技术网

Sql 从两个不同的数据库中选择数据并进行比较

Sql 从两个不同的数据库中选择数据并进行比较,sql,Sql,如果这个问题已经被问过,请原谅,但是。。。我试图从一个数据库中的两个不同表中选择数据,并计算一个表中的所有数据,这些数据等于第二个表中的数据(如果有意义的话)?下面是我试图使用的代码 $select = "SELECT * FROM client_id, clientid, COUNT(client_id) FROM enquiry, check_s WHERE client_id = clientid"; 您的查询似乎语法错误。 您可以尝试将主键(id?)上的两个表和您试图匹配的任何其他字段

如果这个问题已经被问过,请原谅,但是。。。我试图从一个数据库中的两个不同表中选择数据,并计算一个表中的所有数据,这些数据等于第二个表中的数据(如果有意义的话)?下面是我试图使用的代码

$select = "SELECT * FROM client_id, clientid, COUNT(client_id) FROM enquiry, check_s WHERE client_id = clientid";

您的查询似乎语法错误。 您可以尝试将主键(id?)上的两个表和您试图匹配的任何其他字段连接起来。基本语法如下所示:

SELECT * FROM 
DB1.Table1 
JOIN DB2.Table2 
ON DB1.Table1.PrimaryKey = DB2.Table2.PrimaryKey;
如果要查找精确的数据匹配,可能必须基于所有字段(在上述查询的
on
子句中)联接表

编辑:

既然您已经解释了,您可以尝试以下方法:

SELECT table1.*, count(*) as `n` FROM table1
JOIN table2 
ON table1.field = table2.field;

同样,如果您需要比较更多字段,只需将它们包含在
ON
子句中,并在
WHERE
子句中设置条件。

我想您可能正在寻找类似的内容:

SELECT * FROM 
DB1.Table1 
JOIN DB2.Table2 
ON DB1.Table1.PrimaryKey = DB2.Table2.PrimaryKey;
假设主表名为Client,次表(来自表单)为inquiry,要在Client中比较的列称为Client_id,inquiry中的同一列称为clientid。 那你有

Select Count(Client.*)
From Client, Enquiry
Where Client.client_id = Enquiry.clientid
Group by Client.client_id

您的意思是表1中列的每个记录列都与表2中的记录列完全相同吗?您的查询只是计算匹配的客户端ID的数量。不确定我是否说得足够清楚。我在一个数据库中有两个表。第一个表中已有多条记录。第二个表有一条从一个表单输入的记录。我想做的是计算第一个表中有多少条记录与第二个表中的记录相等,例如表1包含单词“apple”50次,第二个表输入了一条记录,其中一列包含“apple”。我希望查询获取第二个表中的单词,并计算它在第一个表中的次数。希望这能让它更清晰?在你的输出中你想要一个数字吗?50岁左右?或者整行+这个number@JakeNeal是的,这更清楚。我已经相应地编辑了我的答案。@VinodVishwanath我可以用“苹果”替换表1.field吗?在while循环中不会有特定的值。如果没有特定的值,请删除WHERE子句,并在
ON
子句中包含更多的OR。示例:
…在table1.field=table2.field1或table1.field=table2.field2或table1.field=table2.field3上