Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / как объединить 2 select`a / 9 сообщений из 9, страница 1 из 1
29.07.2019, 15:47
    #39842580
Valeri2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как объединить 2 select`a
Код: 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
29.07.2019, 15:59
    #39842591
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как объединить 2 select`a
Код: 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
29.07.2019, 16:02
    #39842592
Gc2112
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как объединить 2 select`a
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
29.07.2019, 16:04
    #39842593
Valeri2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как объединить 2 select`a
Gc2112,
спс все работает.
Тема закрыта
...
Рейтинг: 0 / 0
29.07.2019, 16:08
    #39842595
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как объединить 2 select`a
что интересно оба нерабочие

[DebetBegin] = 0

+ where [DebetBegin]>=1000

и

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


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