请原谅我,如果已经问过这个问题,但是......我正在尝试从数据库中的2个不同表中选择数据并计算一个表中与第二个表中的数据相等的所有数据那讲得通?以下是我尝试使用的代码
$select = "SELECT * FROM client_id, clientid, COUNT(client_id) FROM enquiry, check_s WHERE client_id = clientid";
答案 0 :(得分:1)
您的查询似乎在语法错误。 你可以尝试的是在主键(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
子句中设置条件。
答案 1 :(得分:0)
我想你可能正在寻找这样的东西:
假设您的主表名是Client,您的辅助表(来自表单)是Inquiry,您要在客户端中比较的列称为client_id,而Inquiry中的同一列称为clientid。 那你有
Select Count(Client.*)
From Client, Enquiry
Where Client.client_id = Enquiry.clientid
Group by Client.client_id