SELECT `dl2`.`id` AS `exists`
FROM `dialog_relations` AS `dl`
LEFT JOIN `dialog_relations` AS `dl2` USING(`dialog_id`)
WHERE `dl`.`user_id` = 1 AND `dl2`.`user_id` = 2
Идея с промежуточной таблицей хорошая, способов лучше не вижу. Если вам не нравится то, что придётся возиться с промежуточной таблицей, можно чуть-чуть упростить себе задачу, используя внешние ключи. То есть, например, сделать так, чтобы при удалении блюда, автоматически удалялись и соответствующие записи из промежуточной таблицы.
По-моему ты хочешь странного. Несколько книг входит в сборник. Одна и та же книга может входить сразу в несколько сборников. Ты хочешь сделать запрос на получение данных о книге и информацию о сборнике (сколько в нем книг). Какой из сборников, в которых учавствует конкретная книга, выбрать и вернуть кол-во книг в нём? Первый попавшийся?
А что ты хотел сделать вызовом функции DATE() для дат, у которых уже нет времени? Фактически, у тебя разность строк "2014-01-01" и "2013-12-31", которые преобразуются в числа 20140101 и 20131231, разность которых и равна 8870.
Для получения кол-ва дней между двумя датами, можно воспользоваться функцией DATEDIFF(): SELECT DATEDIFF('2014-01-01','2013-12-31');
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.