|
|
|
|
|
для: Trianon
(11.10.2009 в 23:40)
| | >Ну и какой смысл в неравенстве a >= a + 30 ?
>Ясно же, что оно всегда будет ложным.
>a - a >= 30
>0 >= 30
>false
>
>Третий класс, ей-богу.
Да, пора уже наверное спать ложиться ...
Спасибо! | |
|
|
|
|
|
|
|
для: mastergrom
(11.10.2009 в 23:30)
| | Ну и какой смысл в неравенстве a >= a + 30 ?
Ясно же, что оно всегда будет ложным.
a - a >= 30
0 >= 30
false
Третий класс, ей-богу. | |
|
|
|
|
|
|
|
для: Trianon
(11.10.2009 в 23:19)
| | >$half_hour = "INTERVAL 30 MINUTE";
Не находит записей вообще.
>только поглядите, что и с чем Вы сравниваете.
Сравниваю столбец TIMESTAMP со значением этого же столбца + интервал 30 минут. Или нет ?
Впринципе, там запрос громоздкий, довольно-таки, 3 таблицы соеденены. Но если убрать условие с датой то показывает все правильно .. Может как-то преобразовать нужно timestamp в DATE ? | |
|
|
|
|
|
|
|
для: mastergrom
(11.10.2009 в 23:12)
| | $half_hour = "INTERVAL 30 MINUTE";
только поглядите, что и с чем Вы сравниваете. | |
|
|
|
|
|
|
|
для: Trianon
(11.10.2009 в 23:06)
| | то есть, лучше так:
ON (table_a.id = table_b.table_a_id AND table_b.date >= CURDATE())
|
?
PS и еще вопросик, В другом запросе выбрать из таблицы b записи в которых date больше чем текущая на 30 минут, пробовал в WHERE ставить table_b.date >= table_b.date + $half_hour. Где $half_hour = 60 * 30. Не подскажите как? | |
|
|
|
|
|
|
|
для: mastergrom
(11.10.2009 в 22:58)
| | сложность исполнения запроса выросла на порядок, а так ничего. | |
|
|
|
|
|
|
|
для: Trianon
(11.10.2009 в 18:33)
| | >> WHERE table_b.date >= CURDATE() OR (SELECT COUNT(table_b.id_count) as cnt) = 0
>
>вот и помогай после этого...
А что не так ? ) | |
|
|
|
|
|
|
|
для: mastergrom
(11.10.2009 в 16:16)
| | > WHERE table_b.date >= CURDATE() OR (SELECT COUNT(table_b.id_count) as cnt) = 0
вот и помогай после этого... | |
|
|
|
|
|
|
|
для: Trianon
(11.10.2009 в 15:57)
| | Вобщем, вроде этот вариант работает:
SELECT table_a.id, COUNT(table_b.id_count) AS total
FROM table_a LEFT JOIN table_b ON (table_a.id = table_b.table_a_id)
WHERE table_b.date >= CURDATE() OR (SELECT COUNT(table_b.id_count) as cnt) = 0
GROUP BY table_a.id
HAVING total < 3
|
| |
|
|
|
|
|
|
|
для: cheops
(11.10.2009 в 15:48)
| | тут закавыка в том, что WHERE DATE(FROM_UNIXTIME(table_b.date)) ... окажется истинным лишь для тех строк, где table_b.date будет существовать. | |
|
|
|
|