我正试图通过匹配库存项目的模型,从产品表中提取有关库存项目的其他信息。
我想在while循环中从products表运行另一个查询,其中model=$model。从那里我想让价格等变量显示在我的$inventory_list
中
$sql = mysql_query("SELECT * FROM inventory order by model");
// get all the product details
while($row = mysql_fetch_array($sql)){
$model = $row["model"];
$serial = $row["serial"];
$inventory_list .= "$model $serial <br />";
}
如果我需要跟踪序列,是否需要使用另一个表进行库存?感谢您的帮助!!!
您需要将JOIN
、inventory
和products
表放在一起,以便通过单个查询获得相同的结果,从而减少网络开销。
它应该看起来像这样:
SELECT `inventory`.*, `products`.`price`
FROM `inventory`
LEFT JOIN `products` ON `inventory`.`model` = `product`.`model`
ORDER BY `inventory`.`model`;
JOIN参考:http://dev.mysql.com/doc/refman/5.0/en/join.html
更改查询以联接两个表并返回数据,这样就不必在while循环中调用另一个查询,从而提高性能并减少对数据库的调用
例如:
SELECT i.* , p.price
FROM inventory i
JOIN products p on i.model = p.model
order by i.model