powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SUM возвращает NULL (преобразование запроса)
6 сообщений из 6, страница 1 из 1
SUM возвращает NULL (преобразование запроса)
    #38945260
unnomen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно преобразовать запрос

Код: sql
1.
2.
3.
4.
5.
SELECT workprogrammes.id, schoolsubjects.title, teachers.lastname, teachers.firstname, teachers.patronymic, classes.title, SUM(themes.time) time
FROM classes, teachers, schoolsubjects, workprogrammes LEFT JOIN themes ON workprogrammes.id = themes.id_workprogramme
WHERE workprogrammes.id_schoolsubject = schoolsubjects.id
AND workprogrammes.id_teacher = teachers.id
AND workprogrammes.id_class = classes.id;



чтобы SUM(themes.time) при отсутствии значений возвращал не NULL, а 0 (false);

Подскажите пожалуйста.
...
Рейтинг: 0 / 0
SUM возвращает NULL (преобразование запроса)
    #38945267
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
unnomenчтобы SUM(themes.time) при отсутствии значений возвращал не NULL, а 0 (false);Это-то несложно, можно задействовать IFNULL() .

А вот весь запрос явно нужно переписывать. Я даже не возьмусь угадать, что он реально делает в текущем написании.
Во-первых, не стоит смешивать в секции FROM запятые и явные JOIN-ы. Это может привести к синтаксической ошибке или неверному результату.
Во-вторых, в секции SELECT одновременно и простые поля, и агрегатные функции, да еще без группировки.
...
Рейтинг: 0 / 0
SUM возвращает NULL (преобразование запроса)
    #38945272
unnomen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Запрос отлично работает, без ошибок:)
(не будем вдаваться в "мелочи")

За IFNULL() спасибо, всё работает!:)
IFNULL(SUM(themes.time),0)
...
Рейтинг: 0 / 0
SUM возвращает NULL (преобразование запроса)
    #38945273
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
unnomenЗапрос отлично работает, без ошибок:)Повезло.
...
Рейтинг: 0 / 0
SUM возвращает NULL (преобразование запроса)
    #38945276
unnomen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

я просто знаю как сделал его и как он работает, поэтому я уверен в том, что он отлично работает и не вызовет ошибок в моём использовании.
...
Рейтинг: 0 / 0
SUM возвращает NULL (преобразование запроса)
    #38945343
unnomen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Я понял о чём вы писали) У меня возникла проблема, вывод только одного результата. Не хватало группировки. Немного подкорректировал и через JOIN'ы переписал:
Код: sql
1.
2.
3.
4.
5.
6.
SELECT workprogrammes.id, schoolsubjects.title, classes.title class, teachers.lastname, teachers.firstname, teachers.patronymic, IFNULL(SUM(themes.time),0) time
FROM workprogrammes LEFT JOIN themes ON workprogrammes.id = themes.id_workprogramme
INNER JOIN schoolsubjects ON workprogrammes.id_schoolsubject = schoolsubjects.id
INNER JOIN classes ON workprogrammes.id_class = classes.id
INNER JOIN teachers ON workprogrammes.id_teacher = teachers.id
GROUP BY workprogrammes.id;
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SUM возвращает NULL (преобразование запроса)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]