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 回答