2015-10-29 102 views
0

我想是這樣的:MySQL的多個條件與不等於

SELECT * FROM chat 
WHERE (user1= :user OR user2= :user) 
AND (deleted1 != :user OR deleted2 != :user) 
ORDER BY year, month, day, time DESC 
LIMIT 20 

我有這樣的代碼:

SELECT * FROM chat 
WHERE user1= :user OR user2= :user 
AND deleted1 <> :user OR deleted2<> :user 
ORDER BY year, month, day, time DESC 
LIMIT 20 

我想首先檢查是否是user1user2:user,之後到檢查:user不在deleted1deleted2。在很多情況下,deleted1deleted2都是空的。但是這個代碼我沒有像我想要的那樣工作。

enter image description here

這是我的表,我想顯示所有行的deleted1或deleted2不是用戶1或用戶2

+0

你怎麼想試試它工作?你可以發佈一些數據嗎? –

回答

2

你可以用下面的查詢

SELECT * FROM chat 
WHERE  (user1= :user OR user2= :user) 
AND  (deleted1 <> :user) 
AND  (deleted2<> :user) 
ORDER BY year, month, day, time DESC 
LIMIT 20