MySQL -基于2个字段返回值


MySQL - Returning values based on 2 fields

我有一个小问题,我希望有人能帮助我。

我有一个表(messages),它有以下列

user_one
user_two
ip
time
user_one_deleted
user_two_deleted
所以基本上我需要做的是检查我的id是否在user_one或user_two字段中。如果在user_one字段中找到我的id,检查user_one_deleted = 0,然后返回结果,如果是= 1,则跳过它.....如果在user_two字段中找到我的id,则检查user_two_deleted是否= 0然后返回结果,如果它= 1则跳过它。

我希望这是有意义的,我试图得到我的头周围,但我没有那么多的经验与MySQL。

任何帮助都将是非常感激的。

欢呼,

尝试:

SELECT *
FROM   messages
WHERE ( user_one = yourid AND user_one_deleted = 0 )
   OR ( user_two = yourid AND user_two_deleted = 0 )  

听起来可行。假设您要检查的ID存储在$ ID中,这应该可以工作:

"SELECT * FROM messages
    WHERE ( `user_one` = $id AND `user_one_deleted` = 0 )
    OR ( `user_two` = $id AND `user_two_deleted` = 0 );"

运行这个查询,你应该有你的结果。