
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.03.2016, 10:34:53
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Это часть другого запроса, и IF сверху решает, что в случае результата NULL надо выводить текущее время. Однако при любом раскладе все равно получается NULL, т.к. если запрос не находит строк, то просто не срабатывают IF-ы, а сразу выдает NULL, как то, что строки не найдены. Как сделать, чтобы в случае ненахождения строк выдавал результат, определяемый IF-ами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 10:43:59
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
svnvladКак сделать, чтобы в случае ненахождения строк выдавал результат, определяемый IF-ами? Так в результирующем наборе же нет записей... в чём тебе возвращать этот самый не-NULL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 10:44:45
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
svnvlad, а что за объект cr ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 10:46:02
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
А если надо получить скаляр, то тупо Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 10:47:09
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
AkinasvnvladКак сделать, чтобы в случае ненахождения строк выдавал результат, определяемый IF-ами? Так в результирующем наборе же нет записей... в чём тебе возвращать этот самый не-NULL? Этот подзапрос возвращает время окончания фрагмента времени. Если строк нет, значит еще не прописано последнее время последнего фрагмента, и нужно вернуть текущее время. Задача - в случае отсутствия строк запроса вернуть текущее время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 10:51:24
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
AkinaА если надо получить скаляр, то тупо Код: sql 1. Я пытался запихать подзапрос внутрь другого выражения, выдает ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 10:53:02
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
svnvladЗадача - в случае отсутствия строк запроса вернуть текущее время.сделайте через MIN() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:03:19
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
miksoftsvnvlad, а что за объект cr ? cargo_remains внешнего запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:04:19
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
miksoftsvnvladЗадача - в случае отсутствия строк запроса вернуть текущее время.сделайте через MIN() Не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:08:28
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
AkinaА если надо получить скаляр, то тупо Код: sql 1. Ошибки не выдало, но теперь показывает 0000-00-00. А там же еще одно внутренне условие - IF(условие, NULL, CURTIME()). Его как обработать? В общем смысл такой: /* Следующее время уменьшения груза. Если NULL и остался груз, то текущее время. */ /* Если NULL и нет груза, то NULL */ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:15:45
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
Вся логика того, что ты тут рассказываешь, свидетельствует о том, что подзапрос тебе нахрен не нужен. Избавься от него, введи получение требуемого значения в текст основного запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:28:53
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
svnvladmiksoftпропущено... сделайте через MIN() Не понял. Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:30:48
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
AkinaВся логика того, что ты тут рассказываешь, свидетельствует о том, что подзапрос тебе нахрен не нужен. Избавься от него, введи получение требуемого значения в текст основного запроса. Каким это образом интересно, если в одном запросе надо получить два значения - текущую строку таблицы и следующую? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:32:13
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
svnvladв одном запросе надо получить два значения - текущую строку таблицы и следующую Используй две копии таблицы в основном запросе. Ты их всё равно две используешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:36:23
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
miksoftsvnvladпропущено... Не понял. Код: sql 1. 2. 3. 4. Да, можно. Но что в моем варианте, что здесь аномалия какая-то происходит. В случае отсутствия строк запроса выдает не текущее время, а 0000-00-00 00:00:00. Если MIN(cr2.remains_time) меняю на MIN(cr2.id), то выдает текущее время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:39:00
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
miksoft Код: sql 1. Для отладки выведите MIN(cr2.remains_time) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:47:00
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
miksoftmiksoft Код: sql 1. Для отладки выведите MIN(cr2.remains_time) и MIN(cr2.remains_time), и MIN(cr2.id) выдают NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:50:44
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
svnvlad, А если так: Код: sql 1. (ну то есть написать дату, которой гарантированно нет в таблице.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:52:46
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
miksoftsvnvlad, А если так: Код: sql 1. (ну то есть написать дату, которой гарантированно нет в таблице.) Тогда выдает '2017-01-01 01:01:01' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:55:40
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
miksoft, Почитал доку IFNULL, что-то она мне не нравится. На всякий случай попробуйте так: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:56:25
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
Akinasvnvladв одном запросе надо получить два значения - текущую строку таблицы и следующую Используй две копии таблицы в основном запросе. Ты их всё равно две используешь. И как связать первую с текущим значением, а вторую со следующим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 11:57:57
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
svnvlad, О, разглядел, у вас CURTIME, а нужно CURDATE. Дата же какая-то тоже должна быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 12:00:37
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
miksoftmiksoft, Почитал доку IFNULL, что-то она мне не нравится. На всякий случай попробуйте так: Код: sql 1. 2. 3. 4. (скобка лишняя после END) Но то же самое выдает. 0000-00-00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2016, 12:02:41
|
|||
|---|---|---|---|
Запрос всегда выдает NULL |
|||
|
#18+
miksoftsvnvlad, О, разглядел, у вас CURTIME, а нужно CURDATE. Дата же какая-то тоже должна быть? Спасибо! А я думал CURTIME выдает и дату, и время. Да, дата тоже должна быть. А как тогда? CURDATE() + CURTIME()? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1832057]: |
0ms |
get settings: |
10ms |
get forum list: |
22ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
205ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 561ms |

| 0 / 0 |
