Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выбрать сумму если нет null / 7 сообщений из 7, страница 1 из 1
03.02.2014, 21:27:48
    #38547781
maxtorchel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать сумму если нет null
есть такой запрос:
Код: 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
03.02.2014, 21:32:01
    #38547785
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать сумму если нет null
Код: sql
1.
SELECT IF(MAX(b.weight IS NULL),NULL,SUM(b.weight))

не пробовал, но вроде должно работать.
...
Рейтинг: 0 / 0
03.02.2014, 21:45:49
    #38547794
maxtorchel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать сумму если нет null
работает, а я уж такой огород нагородил:
Код: 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
03.02.2014, 21:51:02
    #38547799
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать сумму если нет null
maxtorchelне подскажешь почему MAX( b.weight IS NULL ) возвращает null?Не должен бы... По моей задумке он должен вернуть либо 0, либо 1.
Увы, не успеваю попробовать, некогда :(
...
Рейтинг: 0 / 0
03.02.2014, 21:51:30
    #38547800
maxtorchel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать сумму если нет null
точнее истину
...
Рейтинг: 0 / 0
03.02.2014, 21:53:07
    #38547802
maxtorchel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать сумму если нет null
ну все правильно, он возвращает 1, тоесть истину, но не пойму почему, в мануале тоже не приметил ответа
...
Рейтинг: 0 / 0
03.02.2014, 21:53:42
    #38547803
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбрать сумму если нет null
maxtorchelточнее истинув MySQL нет булевских типов, поэтому 0 или 1.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выбрать сумму если нет null / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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