powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Динамическая вставка данных в подзапрос
8 сообщений из 8, страница 1 из 1
Динамическая вставка данных в подзапрос
    #40120762
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
select * from	
from
	(
	select ParentID, SupplierSegment, Category1, Month 
	from total 
	where Model='None' and ParentID=11018342898070 and Category1='Household' and SupplierSegment='B'
	) t1
inner join 
(
	select SupplierSegment, Category1,  avg(sum_GMV) as avg_seller  
	from
		(
		select SupplierSegment, Category1,ParentID,  sum(GMV_DR) as sum_GMV 	
		from total
		where Status='Fact' 
		and Month in (Select Month from total Where Status = 'Fact' and ParentID=11018342898070 and Category1='Household' and SupplierSegment='B' and GMV_DR is not null and GMV_DR > 0)
		group by SupplierSegment, Category1, ParentID
		)
	group by SupplierSegment, Category1
) t2 on  t1.SupplierSegment=t2.SupplierSegment and t1.Category1=t2.Category1



Есть подзапрос результаты которого потом используются в расчете? но как сделать без функций чтобы ParentID из 1 подзапроса передавался только во внутренний где считается сумма. ParentID прописываться не будет но нужно чтобы в подзапрос суммы подставлялись данные каждого ParentID, Category1,SupplierSegment из t1
...
Рейтинг: 0 / 0
Динамическая вставка данных в подзапрос
    #40120782
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romanov-krd
чтобы ParentID из 1 подзапроса передавался только во внутренний где считается сумма. ParentID прописываться не будет но нужно чтобы в подзапрос суммы подставлялись данные каждого ParentID, Category1,SupplierSegment из t1
Непонятно, кто на ком стоял, но без функций любой подзапрос можно сделать вьюхой.
...
Рейтинг: 0 / 0
Динамическая вставка данных в подзапрос
    #40120801
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

а как это через вьюху можно сделать? Если к примеру я сделаю из t1 представление и буду передавать его в условие в t2 , в t1 этот же фрагмент я уберу and ParentID=11018342898070 and Category1='Household' and SupplierSegment='B'
...
Рейтинг: 0 / 0
Динамическая вставка данных в подзапрос
    #40120805
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

вроде нашел как
1. Создаю вьюху
Код: sql
1.
2.
3.
(	select ParentID, SupplierSegment, Category1, Month , Status
	from total 
	where Status = 'Fact' and GMV_DR is not null and GMV_DR > 0)



2. В подзапросе пишу
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
(
	select SupplierSegment, Category1,  avg(sum_GMV) as avg_seller  
	from
		(
		select SupplierSegment, Category1,ParentID,  sum(GMV_DR) as sum_GMV 	
		from total
		where Status='Fact' 
		and (Month, Status, ParentID,Category1,SupplierSegment) in (Select Month, Status, ParentID,Category1,SupplierSegment from parent)
		group by SupplierSegment, Category1, ParentID
		)
	group by SupplierSegment, Category1
) t2
...
Рейтинг: 0 / 0
Динамическая вставка данных в подзапрос
    #40120936
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что вы тут накрутили?
Код: sql
1.
...and (Month, Status, ParentID,Category1,SupplierSegment) in (Select Month, Status, ParentID,Category1,SupplierSegment from parent...



сделайте через EXISTS и используйте правильный синтаксис
...
Рейтинг: 0 / 0
Динамическая вставка данных в подзапрос
    #40120947
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользуйся временными таблицами, бро.
Очень удобно.
...
Рейтинг: 0 / 0
Динамическая вставка данных в подзапрос
    #40121019
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One
что вы тут накрутили?
Код: sql
1.
...and (Month, Status, ParentID,Category1,SupplierSegment) in (Select Month, Status, ParentID,Category1,SupplierSegment from parent...



сделайте через EXISTS и используйте правильный синтаксис


Такой синтаксис работает в Oracle Vertica и других бд, но не не в MS SQL
...
Рейтинг: 0 / 0
Динамическая вставка данных в подзапрос
    #40121027
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin
Konst_One
что вы тут накрутили?
Код: sql
1.
...and (Month, Status, ParentID,Category1,SupplierSegment) in (Select Month, Status, ParentID,Category1,SupplierSegment from parent...




сделайте через EXISTS и используйте правильный синтаксис


Такой синтаксис работает в Oracle Vertica и других бд, но не не в MS SQL


интересно конечно, но причём тогда форум по MS SQL?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Динамическая вставка данных в подзапрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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