Нужно обернуть запрос

Подскажите, пожалуйста, как реализовать такой запрос в террасофте?

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

Сейчас у меня создан запрос который выделен курсивом. Как его можно обернуть средствами террасофта?
может быть как-то иначе? Мне нужно просто взять среднее число из того, что возрвращает внутренний

Нравится

3 комментария

Здравствуйте Светлана,
Воспользуйтесь конструкцией SubQuery в From.
2
Для этого там, где вы обычно указываете название таблицы, укажите SubQuery, дизайнер создаст за Вас структуру
1
Пример:
Создать в 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]

Тестовый сервис, в прикрепленных файлах

Алексей, а начиная с какой версии этот функционал доступен?

У нас Terrasoft Sales 3.3.2.47

Я ввела SubQuery, но структуры не появилось.

Светлана, воспользуйтесь бинарными файлами 3.3.2.263, в них данная функциональность доступна.
Выслал вам на почту ссылку на бинарные файлы.

Показать все комментарии