0

この質問が既に出されている場合は申し訳ありませんが、データベース内の 2 つの異なるテーブルからデータを選択し、2 番目のテーブルのデータと等しい 1 つのテーブルのすべてのデータをカウントしようとしています。 ? 以下は私が使用しようとしているコードです

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

2 に答える 2

1

あなたのクエリは構文的に間違っているようです。あなたが試すことができるのは、主キー(id?)と一致させようとしている他のフィールドで2つのテーブルを結合することです。基本的な構文は次のようになります。

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ください。

于 2012-10-26T11:45:28.903 に答える
0

I think you might be looking for something like this:

Lets say your main table name is Client and your secondary table (from the form) is Enquiry and the column which you want to compare in client is called client_id and the same column in Enquiry is called clientid. Then you have

Select Count(Client.*)
From Client, Enquiry
Where Client.client_id = Enquiry.clientid
Group by Client.client_id
于 2012-10-26T12:14:10.347 に答える