我仍然是一个php / mysql新手,我正在研究mysql表关系概念,我遇到了在多个表中使用mysql计数的问题。这是我的数据库结构。
**product table**
id product_name product_img groupeid
1 Sneaker Mark sneaker_adi.png 1
2 bag Eric bageric.png 2
3 Sneaker Etoi sneakeretoi.jpg 1
**groupe table**
group_id group_name
1 men
2 women
**category table**
catid catname
1 sneaker-shoes
2 bag-woman
**productcategory table**
prod_id cat_ID
1 1
2 2
3 1
我想要做的是使用mysql确定运动鞋的数量。
我们可以看到db中运动鞋的数量是2。
但是如何在这些多个表中使用**count()**
。
我试过这样;
$sql = "SELECT COUNT(*) product.id,product_name,catname FROM product INNER JOIN productcategory ON product.id = prod_id INNER JOIN category ON catid = cat_ID WHERE catname='sneaker-shoes'";
我得到的错误如下:
Fatal error: Call to a member function execute() on a non-object in C:\wamp\www\kbashopping\Homme\index.php on line 32
希望我能清楚地揭露这个问题,任何帮助和帮助都会受到赞赏
由于
答案 0 :(得分:0)
如果您只查看计数,请仅提及Select子句中的计数短语。
更改:
SELECT COUNT(*) product.id,product_name,catname FROM
到:
SELECT COUNT(product.id) FROM
答案 1 :(得分:0)
SELECT count (pc.cat_ID) FROM productcategory pc inner join category c on c.catid = pc.cat_ID where c.catname = 'sneaker shoes';
这将在mysql中构建一个临时表,该表连接类别和产品类别,但仅包括catname为sneaker shoes的结果。然后它选择一个列来运行计数操作,并返回计数结果。