powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сложить 2 запроса, чтобы не получилось NULL при отсутствии строк в одном из них?
4 сообщений из 4, страница 1 из 1
Как сложить 2 запроса, чтобы не получилось NULL при отсутствии строк в одном из них?
    #39479820
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT c.id, 

((SELECT COALESCE(SUM(a.sum_rub), 0)
FROM a
WHERE a.id = c.id)
+
(SELECT COALESCE(SUM(b.sum_rub), 0)
FROM b
WHERE b.id = c.id)) AS total_sum

FROM c


При отсутствии строк в одном из подзапросов результат получается NULL, не смотря на COALESCE внутри запроса. И сумма NULL с числом дает NULL.
...
Рейтинг: 0 / 0
Как сложить 2 запроса, чтобы не получилось NULL при отсутствии строк в одном из них?
    #39479925
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если записей нет - весь подзапрос даёт Null. Оберни в COALESCE сами подзапросы.
...
Рейтинг: 0 / 0
Как сложить 2 запроса, чтобы не получилось NULL при отсутствии строк в одном из них?
    #39480049
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaЕсли записей нет - весь подзапрос даёт Null. Оберни в COALESCE сами подзапросы.
Я пробовал, выдает ошибку.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT c.id, 
(
(COALESCE(SELECT COALESCE(SUM(a.sum_rub), 0)
FROM a
WHERE a.id = c.id), 0)
+
(COALESCE(SELECT COALESCE(SUM(b.sum_rub), 0)
FROM b
WHERE b.id = c.id), 0)
) AS total_sum

FROM c
...
Рейтинг: 0 / 0
Как сложить 2 запроса, чтобы не получилось NULL при отсутствии строк в одном из них?
    #39480080
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, все получилось, с количеством скобок была ошибка.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сложить 2 запроса, чтобы не получилось NULL при отсутствии строк в одном из них?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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