Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Нужно чтобы выводились результаты группировки даже если условие не соблюдено / 8 сообщений из 8, страница 1 из 1
24.03.2019, 10:18
    #39790538
Aleksy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно чтобы выводились результаты группировки даже если условие не соблюдено
Есть таблица Accounts, имена которых нужно вывести в любом случае даже если нет данных в базе или условие не соблюдено.

Accounts связана с таблицей Transes.

Вот запрос

Код: sql
1.
2.
3.
4.
5.
SELECT        tblAccounts.Id, tblAccounts.Name
FROM           tblAccounts LEFT OUTER JOIN tblTranses ON tblAccounts.Id = tblTranses.AccountId
WHERE        (tblTranses.TransDate <= CONVERT(DATETIME, '2019-03-22 00:00:00', 102)) OR
                         (tblTranses.TransDate IS NULL)
GROUP BY tblAccounts.Id, tblAccounts.Name



Если в базе вообще нет записей то запрос выводит результаты 2 Account.
Если в базе если запись например 20 числа, то запрос будет выводить результаты когда условие даты будет После 20 числа, если условие будет До то ни одного Account не выводится... как сделать что бы Accounts выводились всегда?
...
Рейтинг: 0 / 0
24.03.2019, 11:02
    #39790543
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно чтобы выводились результаты группировки даже если условие не соблюдено
Aleksy,

перенеси условия из where в on
...
Рейтинг: 0 / 0
24.03.2019, 11:22
    #39790545
Aleksy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно чтобы выводились результаты группировки даже если условие не соблюдено
court,

Спасибо, понял!
...
Рейтинг: 0 / 0
26.03.2019, 15:03
    #39791585
Aleksy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно чтобы выводились результаты группировки даже если условие не соблюдено
А что если в в таблице Transes есть записи без Accounts.Id, типа как вывести в этом же запросе строку "без счета"?
...
Рейтинг: 0 / 0
26.03.2019, 17:26
    #39791747
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно чтобы выводились результаты группировки даже если условие не соблюдено
AleksyА что если в в таблице Transes есть записи без Accounts.Id, типа как вывести в этом же запросе строку "без счета"?Тогда нужно вместо LEFT JOIN использовать FULL JOIN
...
Рейтинг: 0 / 0
09.04.2019, 17:57
    #39798978
Aleksy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно чтобы выводились результаты группировки даже если условие не соблюдено
Так все получается, спасибо!

Но теперь с группировкой выбираются все счета, по каждой записи для счета, а суммы без счетов выводятся общей суммой и само называние счета пустое, как сделать что бы выводилось что-то типа "без счета"?
...
Рейтинг: 0 / 0
09.04.2019, 18:31
    #39798999
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно чтобы выводились результаты группировки даже если условие не соблюдено
Aleksyа суммы без счетов выводятся общей суммой и само называние счета пустое, как сделать что бы выводилось что-то типа "без счета"?Написать nullif(tblAccounts.Name, 'без счета')
...
Рейтинг: 0 / 0
10.04.2019, 13:16
    #39799297
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно чтобы выводились результаты группировки даже если условие не соблюдено
alexeyvgAleksyа суммы без счетов выводятся общей суммой и само называние счета пустое, как сделать что бы выводилось что-то типа "без счета"?Написать nullif(tblAccounts.Name, 'без счета')ISNULL только, а не NULLIF, нет?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Нужно чтобы выводились результаты группировки даже если условие не соблюдено / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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