Untitled

mail@pastecode.io avatar
unknown
plain_text
20 days ago
4.9 kB
1
Indexable
Never
SELECT distinct nomenclature FROM #vtt WHERE monthly_litres > 15 -- 1050035 

АИ-100 Плюс
Аи-98
Автомобильный бензин экологического класса К5 марки АИ-92-К5
Топливо дизельное межсезонное
ДТ ОПТИ
АИ-95 ОПТИ
Дизельное топливо (РФ)
Бензин автомобильный АИ-95-К5
G-ДТ
Аи-95 Плюс
Дизельное топливо ЕВРО, летнее,экологического класса К5 марки ДТ-Л-К5
Сигареты РУССКИЙ СТИЛЬ compact
Дизельное топливо экологического класса К5 (ДТ-З-К5)
Бензин автомобильный АИ-92 (РФ)
Аи-95 Премиум
ДТ Зимнее
Дизельное топливо зимнее
Газ
ДТ Плюс
Бензин автомобильный неэтилированный АИ-92
Аи-92 Премиум
КПГ
АИ-100
Топливо дизельное межсезонное экологического класса К5
Дизельное топливо
G-Drive 100
Аи-92
Бензин Премиум Евро-95 (АИ-95-К5) (ГПН)
АИ-92 Плюс
Бензин автомобильный АИ-92 экологического класса К5
Аи-95
Бензин автомобильный АИ-92-К5
Бензин автомобильный АИ-95 экологического класса К5
СУГ
Стики HEETS amber label/selection
Бензин автомобильный АИ-95 (РФ)
Бензин автомобильный неэтилированный АИ-95
Аи-80
G-98
G-92
ДТ Премиум
Дизельное топливо ЕВРО, зимнее, экологического класса К5 (ДТ-З-К5)
Бензин Регуляр-92 (АИ-92-К5) (ГПН)
Автомобильный бензин экологического класса К5 марки АИ-95-К5
G-Drive 100 Москва
Аи-98 Премиум
ДТ З
ДТ
G-95
АИ-92 ОПТИ


--Ранжирование конечных клиентов дилеров
	DROP TABLE IF EXISTS #cll
	SELECT DISTINCT 
		cl.agent_inn, 
		cl.agent_name, 
		cl.client_inn, 
		cl.client_name, 
		contract_date_begin, 
		contract_name
	INTO #cll
FROM [DATAMARTS].[dpa].[vw_clients] cl -- справочник клиентов
	
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----Транзакции конечных клиентов дилеров	(с фильтром на последнюю продажу)  

DROP TABLE IF EXISTS #vtt;

SELECT 
    vt.client_inn, 
    vt.agent_inn,
    vt.contract_name, 
    vt.region,
    DATEFROMPARTS(YEAR(vt.datetime_trn), MONTH(vt.datetime_trn), 1) AS transaction_date, -- Дата первого дня месяца транзакции
    SUM(cast(vt.litres AS decimal(10,2))) AS monthly_litres, -- Суммарное количество литров за месяц для каждой пары клиент-агент
	vt.nomenclature,
    MAX(vt.datetime_trn) AS MAX_DOC_date -- Максимальная дата транзакции для каждой пары клиент-контракт
INTO #vtt
FROM [DATAMARTS].[dpa].vw_transactions vt
GROUP BY 
	vt.client_inn,
    vt.agent_inn,
    vt.contract_name, 
    vt.region,
	vt.nomenclature,
	YEAR(vt.datetime_trn),
	MONTH(vt.datetime_trn);


	DROP TABLE IF EXISTS #vttr

	SELECT 
		t.client_inn, 
		t.agent_inn,
		t.contract_name, 
		t.region, 
		t.transaction_date,
		SUM(t.monthly_litres) AS total_monthly_litres,
		t.nomenclature,
		cast(t.MAX_DOC_date AS date) AS MAX_DOC_date
	INTO #vttr
	FROM #vtt t
	GROUP BY 
		t.client_inn, 
		t.agent_inn, 
		t.contract_name, 
		t.region, 
		t.nomenclature,
		t.transaction_date,
		MAX_DOC_date



--Продаж конечных клиентов и справочника договоров

    DROP TABLE IF EXISTS #dll
	SELECT 
		cll.agent_inn, 
		cll.agent_name, 
		vttr.client_inn, 
		cll.client_name, 
		vttr.region,
		cll.contract_name, 
		CAST(cll.contract_date_begin AS DATE) AS MIN_DOC_date, 
		vttr.MAX_DOC_date,
		vttr.transaction_date,
		vttr.total_monthly_litres,
		vttr.nomenclature
	INTO #dll
	FROM #vttr vttr 
	LEFT JOIN #cll cll ON cll.client_inn = vttr.client_inn and lower(cll.contract_name)=lower(vttr.contract_name)
	GROUP BY 
		cll.agent_inn, 
		cll.agent_name, 
		vttr.client_inn, 
		cll.client_name, 
		vttr.region,
		cll.contract_name, 
		cll.contract_date_begin, 
		vttr.MAX_DOC_date,
		vttr.transaction_date,
		vttr.total_monthly_litres,
		vttr.nomenclature;
Leave a Comment