2012-06-08 27 views
0

我有这样试图子查询添加到联接查询

SELECT 
    tbl_products.*, 
    GROUP_CONCAT(tags.name) 
FROM 
    tbl_page_collections_products, 
    (SELECT page_collection_name as name 
     FROM tbl_page_collections 
     LEFT JOIN tbl_pages ON tbl_page_collections.page_id = tbl_pages.page_id 
     WHERE tbl_pages.page_name LIKE '%friends%') tags 
    LEFT JOIN tbl_page_collections 
     ON tbl_page_collections.page_collection_id = tbl_page_collections_products.colID 
    LEFT JOIN tbl_pages 
     ON tbl_page_collections.page_id = tbl_pages.page_id 
    LEFT JOIN tbl_products 
     ON tbl_products.product_id = tbl_page_collections_products.product 
    WHERE 
    tbl_pages.page_name LIKE '%friends%' 

查询我得到的错误是Unknown column 'tbl_page_collections_products.colID in on clause但是当子查询是不存在的,我不得到这个错误并且该列存在在那张桌子里。

是否有冲突?

+0

的子查询的列似乎是错误的我莫名其妙 –

回答

0

tbl_page_collections_products不在您的子查询子句中。也许这是你想要什么:

SELECT 
tbl_products.*, 
GROUP_CONCAT(tags.name) 
FROM 
tbl_products, 
(SELECT page_collection_name as name 
    FROM tbl_page_collections 
    ,tbl_page_collections_products 
    LEFT JOIN tbl_pages ON tbl_page_collections.page_id = tbl_pages.page_id 
    WHERE tbl_pages.page_name LIKE '%friends%') tags 
LEFT JOIN tbl_page_collections 
    ON tbl_page_collections.page_collection_id = tbl_page_collections_products.colID 
LEFT JOIN tbl_pages 
    ON tbl_page_collections.page_id = tbl_pages.page_id 
LEFT JOIN tbl_products 
    ON tbl_products.product_id = tbl_page_collections_products.product 
WHERE 
tbl_pages.page_name LIKE '%friends%' 
+0

我得到的错误不是唯一的表/别名:“tbl_products” – adamzwakk

+0

对不起。 SELECT tbl_products。*, GROUP_CONCAT(tags.name) FROM tbl_page_collections_products, ... –