У меня есть простой, но интересный 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 ";
все просмотренные записи зарегистрированы.
это относится к журналу просмотра, который содержит все записи, просматриваемые пользователем - ключом для пользователя является либо его идентификатор при входе в систему, либо случайный хэш md5, когда он не зарегистрирован.
Идея состоит в том, чтобы извлечь все записи, принадлежащие пользователю, либо хэшем md5, поскольку пользователь не входил в систему, ни ИЛИ ID, если он есть, И любым из двух.
требование к запросу:
сначала выберите все записи, только если они зарегистрированы сегодня (insdt = logged_date)
конечная часть, $ field, может быть любым полем, поэтому оно устанавливается как переменная.
средняя часть создает проблему - хотите выбрать все записи, которые соответствуют одному или обоим, но не, если оба являются нулевыми / пустыми.
1 + 1-> 1,
1 + 0-> 1,
0 + 1> 1,
Но 0 + 0-> 0 !! то есть. отсутствует для возврата false / 0.
Интересно, есть ли здесь что-то, что может работать? как противоположность XOR ??
Любое улучшение моего собственного MySQL выше будет оценено.
спасибо.