Php mySQL连接三个表-电子商务项目、视图和销售

Php mySQL连接三个表-电子商务项目、视图和销售,php,mysql,database,join,e-commerce,Php,Mysql,Database,Join,E Commerce,我正在使用php mySql构建一个电子商务系统,我不知道如何左键连接三个表 我需要一个所有商店物品的列表,添加每个物品的浏览量和销售额 TABLE #1 - store_sales --------------- itemID | date -------------- TABLE #2 - store_views --------------

我正在使用php mySql构建一个电子商务系统,我不知道如何左键连接三个表

我需要一个所有商店物品的列表,添加每个物品的浏览量和销售额

            TABLE #1 - store_sales
            ---------------
            itemID | date
            --------------

            TABLE #2 - store_views
            --------------
            itemID | date
            --------------

            TABLE #3 - store_items 
            ---------------------------------
            itemID | itemName 
            ---------------------------------

            RESULT
            -----------------------
            itemID | itemName | COUNT(store_sales) | COUNT(store_views)


            EXAMPLE:
            -----------------------
            itemID | itemName | COUNT(store_sales) | COUNT(store_views) 
            1         PHONE             3                   45 
            2         BOOK              5                   61
我的代码有错误:
您可以在子选择中分别获取销售和视图的计数,然后与项目表进行左连接,使用COALESCE跳过计数的空记录

SELECT
a.itemID ,
COALESCE(b.item_sales,0),
COALESCE(c.item_views,0)
FROM  store_items a
LEFT JOIN (
    SELECT itemID,COUNT(*) as item_sales
    FROM store_sales
    GROUP BY itemID  
) b ON a.itemID = b.itemID 
LEFT JOIN (
    SELECT itemID,COUNT(*) as item_views
    FROM store_views v
    GROUP BY itemID
) c ON a.itemID = c.itemID

您可以在子选择中分别获取销售和视图的计数,然后与项目表进行左连接,使用COALESCE跳过计数的空记录

SELECT
a.itemID ,
COALESCE(b.item_sales,0),
COALESCE(c.item_views,0)
FROM  store_items a
LEFT JOIN (
    SELECT itemID,COUNT(*) as item_sales
    FROM store_sales
    GROUP BY itemID  
) b ON a.itemID = b.itemID 
LEFT JOIN (
    SELECT itemID,COUNT(*) as item_views
    FROM store_views v
    GROUP BY itemID
) c ON a.itemID = c.itemID

您没有商店销售和商店视图的主键吗?没有,每次有人访问商店商品时,它都会使用商品id和时间戳创建一个新记录。store_sales也是如此。store_sales和store_View没有主键吗?没有,每次有人访问商店商品时,它都会使用商品id和时间戳创建一个新记录。商店销售也是如此