powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как объединить 2 select`a
9 сообщений из 9, страница 1 из 1
как объединить 2 select`a
    #39842580
Valeri2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
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'



есть так
Код: plaintext
1.
vykor1              suma1
77	            159737.95
Код: plaintext
1.
2.
vykor2              suma2
1521                2473121.25

надо сделать вот так
Код: plaintext
1.
vykor1       suma1            vykor2	    sum2
  77        159737.95           1521	 2473121.25
...
Рейтинг: 0 / 0
как объединить 2 select`a
    #39842591
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
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'
...
Рейтинг: 0 / 0
как объединить 2 select`a
    #39842592
Gc2112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeri2008,
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
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
...
Рейтинг: 0 / 0
как объединить 2 select`a
    #39842593
Valeri2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gc2112,
спс все работает.
Тема закрыта
...
Рейтинг: 0 / 0
как объединить 2 select`a
    #39842595
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что интересно оба нерабочие

[DebetBegin] = 0

+ where [DebetBegin]>=1000

и

[DebetBegin] = 0 - ноль и ноль результат
...
Рейтинг: 0 / 0
как объединить 2 select`a
    #39842597
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gc2112Valeri2008,
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
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

right join наверное всё-таки
Не окажется у ТСа в каком-нибудь периоде данных с [DebetBegin] = 0 и запрос вообще ничего не вернёт ...
...
Рейтинг: 0 / 0
как объединить 2 select`a
    #39842602
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKчто интересно оба нерабочиеточно :)

Код: sql
1.
2.
3.
4.
5.
6.
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'
...
Рейтинг: 0 / 0
как объединить 2 select`a
    #39842607
Valeri2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court,
там я проверил и райт и лефт, и просто inner join результат одинаковый, просто надогадался забросить в разные области, а потом объединить джоином
...
Рейтинг: 0 / 0
как объединить 2 select`a
    #39842609
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeri2008court,
там я проверил и райт и лефт, и просто inner join результат одинаковый, просто надогадался забросить в разные области, а потом объединить джоином
мда
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как объединить 2 select`a
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]