この質問が既に出されている場合は申し訳ありませんが、データベース内の 2 つの異なるテーブルからデータを選択し、2 番目のテーブルのデータと等しい 1 つのテーブルのすべてのデータをカウントしようとしています。 ? 以下は私が使用しようとしているコードです
$select = "SELECT * FROM client_id, clientid, COUNT(client_id) FROM enquiry, check_s WHERE client_id = clientid";
この質問が既に出されている場合は申し訳ありませんが、データベース内の 2 つの異なるテーブルからデータを選択し、2 番目のテーブルのデータと等しい 1 つのテーブルのすべてのデータをカウントしようとしています。 ? 以下は私が使用しようとしているコードです
$select = "SELECT * FROM client_id, clientid, COUNT(client_id) FROM enquiry, check_s WHERE client_id = clientid";
あなたのクエリは構文的に間違っているようです。あなたが試すことができるのは、主キー(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
ください。
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