Не могу переписать запрос по кол-ву событий по вузам
Всем привет, собрал информацию по тем объектам которые мне нужны, но у меня очень малый опыт для правильного формирования финального запроса, ранее этот запрос брал данные из 2х id, сейчас я его максимально поправил для 1 id, ранее считался запрос по кол-ву [EventId], а сейчас я не могу понять как мне считать количество мероприятий по ВУЗам
SELECT
p.[ProjectTypeId] as pType
,[Системная информация о респонденте].[ВУЗ_21]
,[Дата заполнения].[Дата заполнения_22] AS [Дата начала события]
,[Тип мероприятия].[Тип мероприятия] -- тут был [Тип международного взаимодействия].[EventId]
,p.[Id] as pId
FROM [CaseMap].[Projects] p
LEFT JOIN (
SELECT
pvb.[ProjectId]
,b.[B60378EC-B340-EE11-96E0-F5287361F2E3] as [Дата заполнения_22] --Tag:dateFilling
FROM [DataBlocks].[Block_AA0378EC-B340-EE11-96E0-F5287361F2E3] as b
LEFT JOIN [CaseMap].[ProjectVisualBlocks] as pvb on pvb.[Id] = b.[ProjectVisualBlockId]
) AS [Дата заполнения] on [Дата заполнения].[ProjectId] = p.[Id]
-------- Системная информация о респонденте --------
JOIN (
SELECT
pvb.[ProjectId]
,[Нет данных по мероприятиям_26].[Name] as [Нет данных по мероприятиям_26]
,b.[98C50C68-A045-EE11-96E0-F5287361F2E3] as [ВУЗ_21]
,[Нет данных по мероприятиям].Name as [Нет данных по мероприятиям]
FROM [DataBlocks].[Block_AA0378EC-B340-EE11-96E0-F5287361F2E3] as b
LEFT JOIN [CaseMap].[ProjectVisualBlocks] as pvb on pvb.[Id] = b.[ProjectVisualBlockId]
LEFT JOIN [CaseMap].[UserDefinedDictionaryItems] as [Нет данных по мероприятиям_26] on [Нет данных по мероприятиям_26].[Id]=b.[C6118C24-BF40-EE11-96E0-F5287361F2E3]
LEFT JOIN [CaseMap].[UserDefinedDictionaryItems] as [Нет данных по мероприятиям] on [Нет данных по мероприятиям].Id=b.[c6118c24-bf40-ee11-96e0-f5287361f2e3]
JOIN (
SELECT
pvb.[ProjectId]
,[Вид организации_142].[Name] as [Вид организации_142]
FROM [DataBlocks].[Block_69155C5C-1347-EE11-96E0-F5287361F2E3] as b
LEFT JOIN [CaseMap].[ProjectVisualBlocks] as pvb on pvb.[Id] = b.[ProjectVisualBlockId]
LEFT JOIN [CaseMap].[UserDefinedDictionaryItems] as [Вид организации_142] on [Вид организации_142].[Id]=b.[EEE47DAF-1947-EE11-96E0-F5287361F2E3]
) AS [Вид организации] on [Вид организации].[ProjectId] = b.[98C50C68-A045-EE11-96E0-F5287361F2E3]
) AS [Системная информация о респонденте] on [Системная информация о респонденте].[ProjectId] = p.[Id] and [Системная информация о респонденте].[Нет данных по мероприятиям_26] in (N'Начать',N'Завершить')
-- Тип мероприятия ИСПРАВЛЕНО 08.12 id block + idfield
LEFT JOIN (SELECT
pvb.ProjectId AS project_id,
uddi_international_type_1.Name AS [Тип мероприятия]
FROM DataBlocks.[Block_a629b83f-e494-ee11-96e1-fa3cea454989] AS [Тип мероприятия]
LEFT JOIN CaseMap.ProjectVisualBlocks AS pvb
ON [Тип мероприятия].ProjectVisualBlockId = pvb.Id
LEFT JOIN CaseMap.UserDefinedDictionaryItems AS uddi_international_type_1
ON [Тип мероприятия].[9ca31665-e494-ee11-96e1-fa3cea454989] =
uddi_international_type_1.Id) AS i_t ON i_t.project_id = p.[Id]
-------- Тип международного взаимодействия состоявшегося события --------
LEFT JOIN (
SELECT
pvb.[ProjectId]
,[Тип международного взаимодействия состоявшегося события_322].[Name] as [Тип международного взаимодействия состоявшегося события_322]
-- ,LEFT([Тип международного взаимодействия состоявшегося события_322].[Name], 1) as [EventId]
FROM [DataBlocks].[Block_d3414069-e394-ee11-96e1-fa3cea454989] as b
LEFT JOIN [CaseMap].[ProjectVisualBlocks] as pvb on pvb.[Id] = b.[ProjectVisualBlockId]
LEFT JOIN [CaseMap].[UserDefinedDictionaryItems] as [Тип международного взаимодействия состоявшегося события_322] on [Тип международного взаимодействия состоявшегося события_322].[Id]=b.[9da31665-e494-ee11-96e1-fa3cea454989]
) AS [Тип международного взаимодействия состоявшегося события] on [Тип международного взаимодействия состоявшегося события].[ProjectId] = p.[Id]
-- 1. Информация по исходящей академической мобильности
LEFT JOIN (
SELECT
pvb.[ProjectId]
,b.[0e424069-e394-ee11-96e1-fa3cea454989] as [Дата начала_240]
FROM [DataBlocks].[Block_d4414069-e394-ee11-96e1-fa3cea454989] as b
LEFT JOIN [CaseMap].[ProjectVisualBlocks] as pvb on pvb.[Id] = b.[ProjectVisualBlockId]
) AS [1. Информация по исходящей академической мобильности] on [1. Информация по исходящей академической мобильности].[ProjectId] = p.[Id]
-- 2. Инфо по програмее Входящая академическая мобильность
LEFT JOIN (
SELECT
pvb.[ProjectId]
,b.[22424069-e394-ee11-96e1-fa3cea454989] as [Дата начала программы (Вх.)_260]
FROM [DataBlocks].[Block_d5414069-e394-ee11-96e1-fa3cea454989] as b
LEFT JOIN [CaseMap].[ProjectVisualBlocks] as pvb on pvb.[Id] = b.[ProjectVisualBlockId]
) AS [2. Инфо по програмее Входящая академическая мобильность] on [2. Инфо по програмее Входящая академическая мобильность].[ProjectId] = p.[Id]
-- 3. Инфо по совместным проектам (долгосрочные)
LEFT JOIN (
SELECT
pvb.[ProjectId]
,b.[32424069-e394-ee11-96e1-fa3cea454989] as [Дата начала программы (Исх.)_276]
FROM [DataBlocks].[Block_d6414069-e394-ee11-96e1-fa3cea454989] as b
LEFT JOIN [CaseMap].[ProjectVisualBlocks] as pvb on pvb.[Id] = b.[ProjectVisualBlockId]
) AS [3. Инфо по совместным проектам (долгосрочные)] on [3. Инфо по совместным проектам (долгосрочные)].[ProjectId] = p.[Id]
-- 4. Инфо по совместным мероприятиям
LEFT JOIN (
SELECT
pvb.[ProjectId]
,b.[43424069-e394-ee11-96e1-fa3cea454989] as [Дата начала проекта_293]
FROM [DataBlocks].[Block_d7414069-e394-ee11-96e1-fa3cea454989] as b
LEFT JOIN [CaseMap].[ProjectVisualBlocks] as pvb on pvb.[Id] = b.[ProjectVisualBlockId]
) AS [4. Инфо по совместным мероприятиям] on [4. Инфо по совместным мероприятиям].[ProjectId] = p.[Id]
WHERE p.IsDeleted=0 and p.IsArchive=0 and p.ProjectTypeId = '0e9d722e-4294-ee11-96e1-fa3cea454989'
and [Системная информация о респонденте].[Нет данных по мероприятиям]<>N'Завершить'
) t1
SELECT * INTO #tmp2 FROM(
SELECT
p.Name as [Название]
,[Запланированные события].[Всего] as [Запланированные события]
,[Состоявшиеся события].[Всего] as [Состоявшиеся события]
FROM [CaseMap].[Projects] p
-------- Вид организации --------
LEFT JOIN (
SELECT
pvb.[ProjectId]
,[Вид организации_142].[Name] as [Вид организации_142]
FROM [DataBlocks].[Block_69155C5C-1347-EE11-96E0-F5287361F2E3] as b
LEFT JOIN [CaseMap].[ProjectVisualBlocks] as pvb on pvb.[Id] = b.[ProjectVisualBlockId]
LEFT JOIN [CaseMap].[UserDefinedDictionaryItems] as [Вид организации_142] on [Вид организации_142].[Id]=b.[EEE47DAF-1947-EE11-96E0-F5287361F2E3]
) AS [Вид организации] on [Вид организации].[ProjectId] = p.[Id]
LEFT JOIN(
SELECT
t.[ВУЗ_21], count(t.[ВУЗ_21]) as [Всего]
FROM #tmp1 t
WHERE t.[Дата начала события] is not null and {condition:z_sob} and t.pType='0e9d722e-4294-ee11-96e1-fa3cea454989' GROUP BY t.[ВУЗ_21]
) as [Запланированные события] on [Запланированные события].[ВУЗ_21]=p.Id
LEFT JOIN(
SELECT
t.[ВУЗ_21], count(t.[ВУЗ_21]) as [Всего]
FROM #tmp1 t
WHERE t.[Дата начала события] is not null and {condition:z_sob} and t.pType='0e9d722e-4294-ee11-96e1-fa3cea454989' GROUP BY t.[ВУЗ_21]
) as [Состоявшиеся события] on [Состоявшиеся события].[ВУЗ_21]=p.Id
WHERE [Вид организации].[Вид организации_142]=N'Высшее Учебное Заведение' and {condition:vuz_name}
) t2
SELECT r.[Название], r.[Запланированные события], r.[Состоявшиеся события] FROM(
select
1 as [sort]
,t.[Название]
,ISNULL(TRY_CONVERT(nvarchar(max),t.[Запланированные события]),'Данные не поданы') as [Запланированные события]
,ISNULL(TRY_CONVERT(nvarchar(max),t.[Состоявшиеся события]),'Данные не поданы') as [Состоявшиеся события]
from #tmp2 t
UNION ALL
SELECT
2 as [sort]
,N'Итого:' as [itog]
,(SELECT TRY_CONVERT(nvarchar(max),ISNULL(sum(t.[Запланированные события]),0)) as [Запланированные события] from #tmp2 t) as [Запланированные события]
,(SELECT TRY_CONVERT(nvarchar(max),ISNULL(sum(t.[Состоявшиеся события]),0)) as [Состоявшиеся события] from #tmp2 t) as [Состоявшиеся события]
)r
ORDER BY r.sort
{offset}
DROP TABLE #tmp1
DROP TABLE #tmp}```