У меня есть 2 таблицы (пользователи и использование)
ТАБЛИЦА ПОЛЬЗОВАТЕЛЕЙ
username usage
a 32
b 5
c 5
ТАБЛИЦА ИСПОЛЬЗОВАНИЯ
username usage_added
a 7
b 7
c 7
a 30
Я хочу получить все элементы из таблицы ПОЛЬЗОВАТЕЛЕЙ,которые имеют ИСПОЛЬЗОВАНИЕ БОЛЬШЕ, чем Х (в данном случае, скажем, Х равен 30) И если в USAGES TABLE либо не найдено ни одного ЗАПИСИ с тем же именем пользователя, либо если значение use_added для этого имени пользователя в USAGES TABLE меньше, чем X (в нашем случае 30))
Так что в этом случае он не должен возвращать никаких записей. У меня есть запрос codeigniter
$this->db->select('users.username');
$this->db->from('users');
$this->db->join('usages', 'usages.username = users.username','left');
$this->db->where("(usages.email is NULL OR (usages.usage_added<30 AND usages.username=users.username))", NULL, FALSE);
$this->db->where("users.usage>30", NULL, FALSE);
Используя этот запрос, я все еще получаю "username a". Обычно он не должен возвращать пользователя A, потому что для пользователя a уже добавлена дата 30. Но, похоже, он сравнивается с первой записью (a = 7) и говорит, что <30, и показывает это снова. </p>
Надеюсь, это имеет смысл, и кто-то может помочь.