Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 04.01.2012
Сообщений: 3

Обработка NULL значения

04.01.2012, 01:41. Показов 2151. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Есть SQL запрос набранный в Access 2007

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SELECT RESULT_ChipIN,  RESULT_IN,  RESULT_ChipOUT, RESULT_OUT  FROM 
 
(SELECT chipinDate, ChipinUserID, SUM(tblChipIN.ChipinSUM) AS RESULT_ChipIN 
FROM tblChipIN
GROUP BY chipinDate, ChipinUserID
HAVING chipinDate LIKE '01.04.2010' AND ChipinUserID LIKE '81') AS 1, 
 
(SELECT inDate, inUserID, SUM(tblIN.inSUM) AS RESULT_IN
FROM tblIN
GROUP BY inDate, inUserID
HAVING inDate LIKE '01.04.2010' AND inUserID LIKE '81') AS 2,
 
(SELECT chipoutDate, chipoutUserID, SUM(tblChipOUT.chipoutSUM) AS RESULT_ChipOUT
FROM tblChipOUT
GROUP BY chipoutDate, chipoutUserID
HAVING chipoutDate LIKE '01.04.2010' AND chipoutUserID LIKE '81') AS 3, 
 
(SELECT outDate, outUserID, (SUM(tblOUT.outSUM) AS RESULT_OUT)
FROM tblOUT
GROUP BY outDate, outUserID
HAVING outDate LIKE '01.04.2010' AND outUserID LIKE '81') AS 4
Задача - из разных таблиц для определенного посетителя, за определенную дату произвести суммирование.
В первых трех запросах все отлично там есть значения, результаты выводятся правильно. Но вот в последнем 4-м запросе, после обработки SUM результат NULL
Если убрать четветый запрос, тогда результат для всех запросов выводится, если оставить для всех бует пустое значение.

Как сделать, что бы при результате NULL выводилась цифра "0" (ноль)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.01.2012, 01:41
Ответы с готовыми решениями:

обработка NULL в запросах
Доброго всем дня. Есть программа, работающая с acces 98. Поставил SP6.Преобразовал базу в Acces 2000. И теперь SQL запрос SELECT * FROM ZAM...

Обработка значения NULL в полях типа Datetime
Здравствуйте! Проблема следующая. Есть dbf-файл (FoxPro). В этом файле есть поля типа datetime. В одних строках в этом поле есть...

обработка null в поиске DataRow
Как это собственно сделать? sql данные , которые могут быть null грузятся в DataTable При выполнении запроса вылетает NULL...

5
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
04.01.2012, 06:14
Можно так
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SELECT SUM(ChipinSUM) AS RESULT_ChipIN,  
       SUM(inSUM) AS RESULT_IN, 
       SUM(chipoutSUM) AS RESULT_ChipOUT, 
       SUM(outSUM) AS RESULT_OUT 
FROM 
     (SELECT chipinDate AS Dat, ChipinUserID AS UserId, ChipinSUM, 0 AS inSUM, 0 AS chipoutSUM, 0 AS outSUM
     FROM tblChipIN
     UNION ALL
     SELECT inDate, inUserID, 0, inSUM, 0, 0
     FROM tblIN
     UNION ALL
     SELECT chipoutDate, chipoutUserID, 0, 0, chipoutSUM, 0
     FROM tblChipOUT
     UNION ALL
     SELECT outDate, outUserID, 0, 0, 0, outSUM
     FROM tblChipOUT) AS Q
WHERE Dat = #04/01/2010# AND UserID = 81
GROUP BY Dat, UserID
а можно и с помощью перекрестного запроса.
Заметьте, что условие по дате и посетителю перенесены из HAVING в WHERE и, предполагая тип полей даты Дата/время, а коды посетителей - числовыми целыми, Like заменен на равенства.

Непонятно, зачем однотипная информация разнесена по разным таблицам. Объедините их в одну таблицу, создав дополнительное поле-признак, показывающее принадлежность записей к той или иной группе.
0
0 / 0 / 0
Регистрация: 04.01.2012
Сообщений: 3
04.01.2012, 18:25  [ТС]
Minob, если честно ничего не произошло.
Код только спрашивает с меня параметры, но ничего не выводит.

Примечание для каждой из таблиц необходим свой ответ. Единого ответа не должо быть.
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
04.01.2012, 20:23
Цитата Сообщение от Nephrit Посмотреть сообщение
Minob, если честно ничего не произошло.
Код только спрашивает с меня параметры, но ничего не выводит.

Примечание для каждой из таблиц необходим свой ответ. Единого ответа не должо быть.
Параметров в запросе нет. Для каждой из таблиц выдается свой ответ. У меня на контрольном примере все работало, посему выкладывайте фрагмент БД (в формате mdb) с таблицами и запросами, относящимися к проблеме.
0
0 / 0 / 0
Регистрация: 04.01.2012
Сообщений: 3
04.01.2012, 20:35  [ТС]
Пнятно. Что ж. Буду дальше сражаться с базой.
В любом случае спасибо
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
04.01.2012, 21:14
Заметил неточность в запросе. Измените
FROM tblChipOUT) AS Q
на
FROM tblOUT) AS Q

P.S. Проверку делал на двух таблицах, а остальное вписывал по аналогии, поэтому при копировании пропустил необходимую коррекцию имени таблицы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2012, 21:14
Помогаю со студенческими работами здесь

null значения
что делать в таком случае: в linq запросе я сравниваю столбец со значением, причем столбец содержит null значения, и выдает ошибку из-за...

EF: null-значения
Есть такое описание свойства: public class SomeUnit { public int? SomeValue { get; set; } } Есть...

Проверка значения на null в БД
Добрый день. С помощью ODBC обращаюсь к СУБД MySQL. OdbcCom = new System.Data.Odbc.OdbcCommand("SELECT * FROM users...

Возвращение значения null
как поступить в данном случае, при запросе WMI к классу WIN32_Processor посредством L2CacheSize конструктор выдает ошибку о том что...

Вывести Null значения из БД в DropDownListFor
Здравствуйте такой вопрос, мне нужно вывести в DropdownListFor, которые хранятся в базе, но некоторые из них могу быть null, как мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru