2013-04-26 33 views
0

我正在嘗試執行此查詢,但它無法正常工作。在「= 0」的情況下int不起作用

SELECT * 
     FROM posts P 
     LEFT JOIN post_status PS ON PS.post_id = P.post_id 
     LEFT JOIN users U ON U.user_id = P.post_author 
     WHERE 
     P.post_cat = '5' 
     AND P.is_hide = '0' 
     ORDER BY post_views DESC 
     LIMIT 8 

我想過濾使「is_hide」字段的值爲0那些帖子,但它也表明,有值is_hide結果= 1 在哪裏的問題..

+1

'is_hide'的數據類型是什麼? – Lion 2013-04-26 03:06:57

+0

它只是一個字段名稱 – Ahmad 2013-04-26 03:07:51

+1

'P'是'posts','FROM'子句中的表(或視圖,無論)的別名。因此,'P.is_hide'應該參考某種類型的數據庫中的相應列。數據庫中該列的類型是什麼?如果是數字類型,則應刪除'0'附近的單引號。 – Lion 2013-04-26 03:11:10

回答

0

您的查詢似乎缺少一個where條款。

SELECT * 
    FROM posts P 
    LEFT JOIN post_status PS ON PS.post_id = P.post_id 
    LEFT JOIN users U ON U.user_id = P.post_author 
    WHERE P.post_cat = 5 
    AND P.is_hide = 0 
    ORDER BY post_views DESC 
    LIMIT 8 

另外,除此之外,如果這些是整數列,您應該直接比較而不是單引號。

+0

我添加了它,我忘了在這裏錯誤 – Ahmad 2013-04-26 03:09:19

+0

嘗試刪除5和0左右的引號。 – Rots 2013-04-26 03:15:09

相關問題