MySQL中的三表连接计数

MySQL中的三表连接计数,mysql,join,count,Mysql,Join,Count,我这里有个问题;当我进行查询时: SELECT product.*,product_description.*,COUNT(product_image.*) FROM " . DB_PREFIX . "product INNER JOIN product_description ON product.product_id = product_description.product_id INNER JOIN product_image ON product.product_id = pr

我这里有个问题;当我进行查询时:

SELECT product.*,product_description.*,COUNT(product_image.*) 
FROM " . DB_PREFIX . "product  
INNER JOIN product_description ON product.product_id = product_description.product_id 
INNER JOIN product_image ON product.product_id = product_image.product_id 
ORDER BY product.date_modified DESC
我想为表产品\u图像选择3个表n 1计数,但出现以下错误:

注意:错误:您的SQL语法有错误;检查手册 对应于MySQL服务器版本的正确语法 使用上的“产品内部联接产品描述”中的“近”) product.product_id=第1行处的product_错误号:1064选择 产品,产品描述,产品计数(产品图像) product.product\u id上的内部联接产品\u说明= product\u description.product\u id内部连接product\u图像位于 product.product\u id=product\u image.product\u id订购人 产品日期\u修改后的DESC


您不应该像这样使用
COUNT
函数<代码>计数(TableName.*)加入表时。您需要像下面这样使用它的任何列
COUNT(TableName.ColumnName)

例如,
COUNT(product\u image.ID)


您不应该像这样使用
COUNT
函数<代码>计数(TableName.*)加入表时。您需要像下面这样使用它的任何列
COUNT(TableName.ColumnName)

例如,
COUNT(product\u image.ID)


使用派生查询进行计数

SELECT 
    product.*,
    product_description.*,
    pi.Count as T_Count
FROM " . DB_PREFIX . "product  
INNER JOIN product_description ON product.product_id = product_description.product_id 
INNER JOIN (SELECT product_id , count(*) as Count FROM product_image) as pi ON product.product_id = pi.product_id 
ORDER BY product.date_modified DESC

使用派生查询进行计数

SELECT 
    product.*,
    product_description.*,
    pi.Count as T_Count
FROM " . DB_PREFIX . "product  
INNER JOIN product_description ON product.product_id = product_description.product_id 
INNER JOIN (SELECT product_id , count(*) as Count FROM product_image) as pi ON product.product_id = pi.product_id 
ORDER BY product.date_modified DESC
试试这个:

SELECT 
product.*,
product_description.*,
COUNT(1) 
FROM " . DB_PREFIX . "product  
INNER JOIN product_description ON product.product_id = product_description.product_id 
INNER JOIN product_image ON product.product_id = product_image.product_id 
ORDER BY product.date_modified DESC
试试这个:

SELECT 
product.*,
product_description.*,
COUNT(1) 
FROM " . DB_PREFIX . "product  
INNER JOIN product_description ON product.product_id = product_description.product_id 
INNER JOIN product_image ON product.product_id = product_image.product_id 
ORDER BY product.date_modified DESC
count(*)的结果在任何情况下都不能返回null,因此放置ifnull没有任何用处count(*)的结果在任何情况下都不能返回null,因此放置ifnull没有任何用处