0

こんにちは、私はデータベースにかなり慣れていません。関連するテーブルを持つデータベースからデータをカウントしようとしています。別のテーブルのレコードに関連するエントリをカウントし、そのカウントを関連レコードの横に表示しようとしています。現時点では、エントリの完全なカウントを取得し、すべてのレコードの横に完全なカウントを表示しています.![ここに画像の説明を入力][1]

//Individual Stores Total
$query_stores = "SELECT COUNT(stores.name) AS num FROM entries,stores WHERE stores.id = entries.store_id AND valid=1";
$results_stores = mysql_query($query_stores);
$rows_stores = mysql_fetch_array($results_stores);


echo "<tr>";
      echo "<td >" . $info['name'] . "</td>";  
      echo "<td>" . $info['code'] . "</td>";
      echo "<td bgcolor='#00B050'>" . $rows_stores['num'] . "</td>";
      echo "</tr>";
4

3 に答える 3

0

クエリでこれを試してください:

SELECT COUNT(stores.id) AS num, stores.name, stores.id as code
FROM entries,stores 
WHERE stores.id = entries.store_id AND valid=1
GROUP BY stores.id
于 2013-02-15T12:04:04.290 に答える
0

あなたの質問は間違っていると思います。次のようなものを試してください。

SELECT e.id, count(s.name) FROM entries as e JOIN stores as s ON (e.store_id=s.id)
      WHERE e.valid=true
      GROUP BY e.id
于 2013-02-15T12:04:58.157 に答える
0

両方のテーブルを結合し、group by を使用する必要があります

$query_stores = "SELECT COUNT(stores.name) AS num FROM entries Inner Join stores ON   
                 stores.id = entries.store_id WHERE valid=1 GROUP BY stores.name";
$results_stores = mysql_query($query_stores);
$rows_stores = mysql_fetch_array($results_stores);
于 2013-02-15T12:19:57.473 に答える