mysql找到[AND OR] IN SELECT QUERY ... LIKE 1 + 1> 1,1 + 0-> 1,0 + 1>但是0 + 0-> 0 !!奥普。异?

时间:2011-05-28 22:28:07

标签: mysql sql database xor

我有这个简单但有趣的MySQL QUERY

$recs_viewed2day = "SELECT * 
                    FROM viewedlog 
                    WHERE ( insdt >= date_sub( NOW(), INTERVAL 1 DAY ) 
                    AND ( member='$user'  AND OR visitor='$visitor' ) 
                    ORDER BY $field  
                    LIMIT 0, 200 ";

记录所有已查看的记录。

这适用于包含用户查看的所有记录的视图日志 - 用户的密钥是登录时的ID或未登录时的随机md5哈希。

这个想法是检索属于该用户的所有rec;通过他md5 hash,因为用户没有登录OR id,如果存在,则是两者中的任何一个。

查询要求: 首先只在今天记录时选择所有记录(insdt = logged_date) 结束部分,$ field可以是任何字段,因此它被设置为变量。 中间部分给出了问题 - 想要选择匹配其中一个或两个的所有记录 - 但如果两者都为空/空则不是。

1 + 1→1, 1 + 0→1, 0 + 1→1, 但是0 + 0-> 0 !!即。 non present返回false / 0。

我想知道是否有什么可以在这里发挥作用?喜欢反对XOR ??

对我自己的mysql的任何改进都将不胜感激。

感谢。

0 个答案:

没有答案