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

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

чтобы если записей нет sum(t2.c1) вадовало 0 [D5, D6, D7, MSSQL]


SkyN ©   (2003-02-11 16:25:00) 

select t1.c1, sum(t2.c1)
from t1,t2
where t1.c2=t1.c2
group by t1.c1

как зделать чтобы если в t2 нет записей выдовался 0, а то сейчас такии строки просто пропускаются.

спасибо


neXt   (2003-02-11 18:55:00) [1]

>>stone © (11.02.03 16:27)
не правильно, количество записей, возвращаемых запросом не изменится
>>SkyN (11.02.03 16:53)
например так:

select t1.c1, isnull(sum(t2.c1),0)
from t1,t2
where t1.c2 *= t2.c2
group by t1.c1


NDeu   (2003-02-11 17:01:00) [2]

Left Join


SkyN   (2003-02-11 16:53:00) [3]

а разве результат не останется прежним?
where не выполнилось, т.к. строки в t2 нет (на всякий случий потестю конечно :)

рассказываю подробней
t1 - справочник товаров
t2 - справочник движения товаров

Должно быть:
t1.c1 sum(t2.c1)
----- ------
цветы 12
пулемет 0 //для него нет записей в t2
мяч 3

А имею:
t1.c1 sum(t2.c1)
----- ------
цветы 12
мяч 3


stone   (2003-02-11 16:27:00) [4]

select t1.c1, isnull(sum(t2.c1), 0)
from t1,t2
where t1.c2=t1.c2
group by t1.c1


Наверх

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