Подскажите, пожалуйста, как реализовать такой запрос в террасофте?
SELECT AVG(x.Login_CRM)
FROM (SELECT
COUNT(CAST([tbl_MS].[ID] AS VARCHAR(38))) AS [Login_CRM],
[tbl_MS].[curdt] AS [curdt]
FROM
[dbo].[tbl_MonitorStatistics] AS [tbl_MS]
LEFT OUTER JOIN
[dbo].[tbl_AdminUnit] AS [tbl_AdminUnit] ON [tbl_AdminUnit].[Name] = [tbl_MS].[Login_CRM]
WHERE([tbl_MS].[curdt] >= :FromDate AND
[tbl_MS].[curdt] = :ToDate AND
NOT [tbl_MS].[Login_CRM] IS NULL AND
[tbl_AdminUnit].[UserIsEnabled] = :true)
GROUP BY
[tbl_MS].[curdt]) as x
Сейчас у меня создан запрос который выделен курсивом. Как его можно обернуть средствами террасофта?
может быть как-то иначе? Мне нужно просто взять среднее число из того, что возрвращает внутренний
Нравится
Здравствуйте Светлана,
Воспользуйтесь конструкцией SubQuery в From.
Для этого там, где вы обычно указываете название таблицы, укажите SubQuery, дизайнер создаст за Вас структуру
Пример:
Создать в Terrasoft Administrator следующий запрос
SELECT AVG(x.my_num) from ( SELECT COUNT(id) AS my_num FROM dbo.tbl_Opportunity GROUP BY Probability ) as x
В предпросмотре SelectQuery получим
SELECT AVG([SubQuery].[my_num]) AS [my_num] FROM (SELECT COUNT(CAST([tbl_Opportunity].[ID] AS VARCHAR(38))) AS [my_num], [tbl_Opportunity].[Probability] AS [Probability] FROM [dbo].[tbl_Opportunity] AS [tbl_Opportunity] GROUP BY [tbl_Opportunity].[Probability]) AS [SubQuery]
Тестовый сервис, в прикрепленных файлах
Светлана, воспользуйтесь бинарными файлами 3.3.2.263, в них данная функциональность доступна.
Выслал вам на почту ссылку на бинарные файлы.