korumbo1
Дата: 20.01.2013 14:11:54
Здравствуйте. Появилась одна задача,которую мне не под силу решить самому в силу недостаточности опыта в mysql. Задача следующая. Есть несколько полей в таблице (id,user_id,date_from(int 11),date_to(int 11)). В полях хранятся даты числами. Подается на вход 2 числа(int). для вставки в таблицу.Условия: записей одного пользователя не должно быть > 3 и заданый диапазон , который подаем на вход запроса(date_from(int 11),date_to(int 11)), не должна пересекаться с уже существующим на этого пользователя(user_id).
korumbo1
Дата: 27.01.2013 17:45:58
bochkov,
Может поможешь еще дописать условие в соответствии с которым нужно не учитывать id=100 например
SELECT EXISTS(SELECT 1 FROM period_table p
WHERE date_from BETWEEN [p1] AND [p2]
UNION
SELECT 1 FROM period_table p
WHERE [p1] BETWEEN date_from AND date_to) and id NOT IN (select id from period_table where id=100)
, но эта строка все равно учитывается :(