2013-10-18 62 views
1

我正在開發facebook擴展cscart,使用cron發佈項目到Facebook。在我的本地開發環境:wamp Apache 2.2.22/PHP 5.3.13/MySQL 5.6.14查詢產生所需的輸出,它是一行,但是當我在我的主機上測試相同的查詢時,它會多次產生相同的行。我無法弄清楚。 我的託管ENV:MySQL的5.5.33-31.1 查詢:兩個輸出爲相同的SQL查詢

SELECT s.product_id 
    , category 
    , product 
    , short_description 
    , full_description 
    , pd.meta_keywords 
    , p.status 
    , p.approved 
    , il.image_id 
    , il.pair_id 
    , il.object_type 
    FROM cscart_social s 
    LEFT 
    JOIN cscart_products p 
    ON p.product_id = s.product_id 
    LEFT 
    JOIN cscart_product_descriptions pd 
    ON s.product_id = pd.product_id 
    LEFT 
    JOIN cscart_products_categories pc 
    ON s.product_id = pc.product_id 
    LEFT 
    JOIN cscart_category_descriptions cd 
    ON pc.category_id = cd.category_id 
    LEFT 
    JOIN cscart_images_links il 
    ON il.object_id = s.product_id 
    LEFT 
    JOIN cscart_images i 
    ON cscart_images.image_id = il.pair_id 
WHERE 0 IN (fb_publish,tw_publish); 
+1

將cscart_social.product_id添加到您的查詢中。 – Ramin

+0

您的開發人員服務器是否使用生產數據庫中的文字轉儲?對於相同的查詢,它們可能具有不同的行數並需要分組(如上所述)。 –

+0

@ 1linecode,Nathan Cox,謝謝你的工作! 但我還沒弄明白。爲什麼相同表格的不同輸出在本地環境或實況環境中結構? – awad

回答

-1

這裏有兩種解決方案:

  1. 我想你忘了添加一個INNER JOIN條件與查詢。
  2. 避免重複記錄的最佳方法是使用DISTINCT。