我想要这样的事情:
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
我想首先检查:user
或user1
中是user2
,然后检查:user
是否不在deleted1
或deleted2
}。在许多情况下,deleted1
和deleted2
都是空的。但是这个代码我所拥有的并不像我想要的那样。
这是我的表格,我希望在deleted1或deleted2中显示不是user1或user2的所有行
答案 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