Untitled
unknown
plain_text
a year ago
3.1 kB
4
Indexable
-- Создаем временную таблицу для новых клиентов, которых нет в dealer_MO_KP_modified DROP TABLE IF EXISTS #NewClients; SELECT vttr.transaction_date, vttr.agent_inn AS agent_inn_dil, vttr.client_inn AS client_inn_dil, dll.client_name AS client_name_dil, -- Используем client_name из #dll для client_name_dil 'Нет данных' AS client_name_GZPN, vttr.total_monthly_litres AS total_monthly_litres_dil, 0 AS MO_dealer_monthly_ton_GZPN, -- Поскольку это новые клиенты, значения для ton_GZPN ставим 0 0 AS KP_dealer_monthly_ton_GZPN, 0 AS MO_KP_dealer_monthly_ton_GZPN, 'Прочие' AS label -- Устанавливаем label в 'Прочие', так как они не попали в категории MO, KP или MO+KP INTO #NewClients FROM #dll AS dll LEFT JOIN #vttr AS vttr ON dll.client_inn = vttr.client_inn WHERE NOT EXISTS ( SELECT 1 FROM #dealer_MO_KP_modified AS modi WHERE modi.client_inn_dil = dll.client_inn ) AND year(vttr.transaction_date) = 2023 GROUP BY vttr.transaction_date, vttr.agent_inn, vttr.client_inn, dll.client_name, vttr.total_monthly_litres; SELECT TOP 10 * FROM #NewClients SELECT count(*) FROM #NewClients DROP TABLE IF EXISTS #NewClients_Okved; -- подтягиваем оквэды к таблице с клиентами SELECT ccl.transaction_date, ccl.agent_inn_dil, ccl.client_inn_dil, ccl.client_name_dil, ccl.client_name_GZPN, ccl.total_monthly_litres_dil, ccl.MO_dealer_monthly_ton_GZPN, ccl.KP_dealer_monthly_ton_GZPN, ccl.MO_KP_dealer_monthly_ton_GZPN, okved.[ИНДЕКС] AS okved_client, ccl.label INTO #NewClients_Okved FROM #NewClients ccl LEFT JOIN [SANDBOX_DB_TEAM_21].[dbo].[Med_Okved] okved ON ccl.client_inn_dil=okved.[ИНН] GROUP BY ccl.agent_inn_dil, ccl.client_inn_dil, ccl.client_name_dil, ccl.client_name_GZPN, okved.[ИНДЕКС], ccl.label, transaction_date, total_monthly_litres_dil, MO_dealer_monthly_ton_GZPN, KP_dealer_monthly_ton_GZPN, MO_KP_dealer_monthly_ton_GZPN SELECT count(*) FROM #NewClients_Okved WHERE okved_client IS NULL --66813 -- добавим информацию по ОКВЭДАМ из [SANDBOX_DB_TEAM_21].[dbo].[GEN_OKVED] --проверка сколько совпадающих инн есть между таблицами SELECT count(*) AS matching_inn FROM #NewClients_Okved AS kpc INNER JOIN [SANDBOX_DB_TEAM_21].[dbo].[GEN_OKVED] AS go ON kpc.client_inn_dil = go.INN where kpc.okved_client is null --24246 --хочу заменить пропуски в ИНДЕКС на значения из NAIMENOVANIE_OKVED для соответствующих инн----------------------------------------------------- UPDATE kpc SET kpc.okved_client = go.NAIMENOVANIE_OKVED FROM #NewClients_Okved AS kpc INNER JOIN [SANDBOX_DB_TEAM_21].[dbo].[GEN_OKVED] AS go ON kpc.client_inn_dil = go.INN WHERE go.VID_OKVED = 'Основной' AND kpc.okved_client IS NULL;
Editor is loading...
Leave a Comment