MySQL - 基于2个字段返回值

时间:2013-06-14 15:01:54

标签: php mysql

我有一个问题,我希望有人可以帮助我。

我有一个包含以下列的表(消息)

user_one
user_two
ip
time
user_one_deleted
user_two_deleted

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

我希望这是有道理的,我试图解决它,但我没有那么多与MySQL的exp。

非常感谢任何帮助。

干杯,

2 个答案:

答案 0 :(得分:3)

尝试:

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

答案 1 :(得分:2)

对我来说听起来很糟糕。假设您要检查的ID存储在$ id中,这应该有效:

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

运行该查询,您应该得到结果。