Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Это уже было [D5, IB6.x, Paradox]


Виталий Панасенко ©   (2002-07-15 16:53:00) 

Народ !!! Объясните, почему под ИБ (ФБ) не правильно работает запрос:
select sum(summa),
(select sum(summa) from data
where balcounter in (1001, 1002, 1003, 1004, 1005, 1007)
),
(select sum(summa) / 2 from data
where balcounter in (1011, 1012, 1013, 1077)
)
from data
where balcounter in (1200, 1203, 1500, 1510, 1521)


Дело в том, что если ОСНОВНОЙ запрос возвращает хотя бы одну строку - все работает, но если ни одной, а для подзапросов должны быть цифры - не работает. Получается, что я должен заранее определится, есть у меня такие значения или нет. Но ведь я могу этого и не знать. Под Paradox, MS SQL все работает независимо от наличия информации для главного запроса. Что делать ?


-=Sergeante=-   (2002-07-16 09:52:00) [1]

Или создай ХП, где последовательно обрабатываешь запросы и загоняй их в переменные.

Хотя мне не понятно, почему основной запрос може невозвратить ни одной записи. Sumвозвращает либо сумму, либо если складывать нечего, то 0. По любому одна запись должна иметь место.


Johnmen   (2002-07-15 17:06:00) [2]

Загони осн.запрос в подзапрос, а осн.
select count(*) from data без условий


Наверх

Титульная страница Поиск, карта сайта Написать письмо