Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > выборка по дням


Автор: ASDF2 26.5.2006, 13:21
Структура таблицы:
Код

username                 start              stop               input
    user             01.01.2006         01.01.2006           50
    user             01.01.2006         02.01.2006           70
    user             04.01.2006         04.01.2006           35

Я хочу сделать выборку по user и input  за месяц с отображением суммы каждого дня. Пишу:
Код

select username, sum(input) from XXX where username='user' and start>31.12.2005 and stop<01.02.2006


Выводит только те дни, где input не null

Но как сделать чтобы выводились все дни, даже если input=0??? 

Автор: Sqlninja 26.5.2006, 13:26
во первых 0 это не NULL, это очень важный момент.

Oracle поддерживает трехзначную логику, поэтому

X = NULL и X<> NULL всегда вернут значение FALSE 

надо преобразовывать  - 

Код

SUM(NVL(INPUT, 0))
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)