powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выбрать сумму если нет null
7 сообщений из 7, страница 1 из 1
выбрать сумму если нет null
    #38547781
maxtorchel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть такой запрос:
Код: sql
1.
select SUM(b.weight) from bill b join rel_bill_manifest r on r.bill_id=b.id join manifest m on r.manifest_id=m.id where m.id=371



можно ли как то сделать логику, что если хоть одно значение b.weight is null, то вместо суммы вернуть null (либо пусто, либо прервать запрос и тд.)
...
Рейтинг: 0 / 0
выбрать сумму если нет null
    #38547785
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
SELECT IF(MAX(b.weight IS NULL),NULL,SUM(b.weight))

не пробовал, но вроде должно работать.
...
Рейтинг: 0 / 0
выбрать сумму если нет null
    #38547794
maxtorchel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
работает, а я уж такой огород нагородил:
Код: sql
1.
2.
3.
4.
select 
SUM(b.weight)
from bill b join rel_bill_manifest r on r.bill_id=b.id join manifest m on r.manifest_id=m.id where m.id=371 and not exists
(select weight from bill b join rel_bill_manifest r on r.bill_id=b.id join manifest m on r.manifest_id=m.id where m.id=371 and weight is null)


но тут 2 запроса, в у тебя один, а не подскажешь почему MAX( b.weight IS NULL ) возвращает null?
...
Рейтинг: 0 / 0
выбрать сумму если нет null
    #38547799
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxtorchelне подскажешь почему MAX( b.weight IS NULL ) возвращает null?Не должен бы... По моей задумке он должен вернуть либо 0, либо 1.
Увы, не успеваю попробовать, некогда :(
...
Рейтинг: 0 / 0
выбрать сумму если нет null
    #38547800
maxtorchel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
точнее истину
...
Рейтинг: 0 / 0
выбрать сумму если нет null
    #38547802
maxtorchel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну все правильно, он возвращает 1, тоесть истину, но не пойму почему, в мануале тоже не приметил ответа
...
Рейтинг: 0 / 0
выбрать сумму если нет null
    #38547803
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxtorchelточнее истинув MySQL нет булевских типов, поэтому 0 или 1.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выбрать сумму если нет null
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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