Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Valeri2008 Member Откуда: Сообщений: 7 |
select count([DebetEnd]) as vykor1 ,sum([DebetEnd]) as suma1 from ##temp where [Period] = '201906' and [DebetBegin] = 0 and [DebetEnd] >= 1000 select count([DebetBegin]) as vykor2 ,sum([DebetEnd]) as suma2 from ##temp where [DebetBegin]>=1000 and Period = '201906' есть так vykor1 suma1 vykor2 suma2 надо сделать вот так vykor1 suma1 vykor2 sum2 |
29 июл 19, 15:47 [21936949] Ответить | Цитировать Сообщить модератору |
court Member Откуда: Сообщений: 2241 |
select count([DebetBegin]) as vykor2 ,sum([DebetEnd]) as suma2 ,sum(case when [DebetBegin] = 0 then 1 end) as vykor1 ,sum(case when [DebetBegin] = 0 then [DebetEnd] end) as suma1 from ##temp where [DebetBegin]>=1000 and Period = '201906' |
29 июл 19, 15:59 [21936965] Ответить | Цитировать Сообщить модератору |
Gc2112 Member Откуда: USA, PA Сообщений: 457 |
Valeri2008,select a.vykor1 , a.suma1 , b.vykor2 , b.suma2 from ( select 1 ID , count([DebetEnd]) as vykor1 , sum([DebetEnd]) as suma1 from ##temp where [Period] = '201906' and [DebetBegin] = 0 and [DebetEnd] >= 1000 ) a inner join ( select 1 ID , count([DebetBegin]) as vykor2 , sum([DebetEnd]) as suma2 from ##temp where [DebetBegin]>=1000 and Period = '201906') b on a.ID = b.ID |
29 июл 19, 16:02 [21936967] Ответить | Цитировать Сообщить модератору |
Valeri2008 Member Откуда: Сообщений: 7 |
Gc2112, спс все работает. Тема закрыта |
29 июл 19, 16:04 [21936969] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
что интересно оба нерабочие [DebetBegin] = 0 + where [DebetBegin]>=1000 и [DebetBegin] = 0 - ноль и ноль результат |
29 июл 19, 16:08 [21936973] Ответить | Цитировать Сообщить модератору |
court Member Откуда: Сообщений: 2241 |
Не окажется у ТСа в каком-нибудь периоде данных с [DebetBegin] = 0 и запрос вообще ничего не вернёт ... |
||
29 июл 19, 16:10 [21936977] Ответить | Цитировать Сообщить модератору |
court Member Откуда: Сообщений: 2241 |
select sum(case when [DebetBegin]>=1000 then 1 end) as vykor2 ,sum(case when [DebetBegin]>=1000 then [DebetEnd] end) as suma2 ,sum(case when [DebetBegin] = 0 and [DebetEnd] >= 1000 then 1 end) as vykor1 ,sum(case when [DebetBegin] = 0 and [DebetEnd] >= 1000 then [DebetEnd] end) as suma1 from ##temp where ([DebetBegin]>=1000 or [DebetEnd] >= 1000) and Period = '201906' |
||
29 июл 19, 16:20 [21936988] Ответить | Цитировать Сообщить модератору |
Valeri2008 Member Откуда: Сообщений: 7 |
court, там я проверил и райт и лефт, и просто inner join результат одинаковый, просто надогадался забросить в разные области, а потом объединить джоином |
29 июл 19, 16:24 [21936995] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
мда |
||
29 июл 19, 16:27 [21936997] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |