Gets the select query for the totals (aggregate values) for the specified collection of columns of the current
EntitySchemaQuery instance, using the specified user connection.
Синтаксис
Параметры
- userConnection
- User connection.
- summaryColumns
- Collection of columns for which the select query for totals is built.
Тип возвращаемого значения
The
Terrasoft.Core.DB.Select instance of the select query.
Исключения
Пример
// Получение экземпляра менеджера схем объектов.
EntitySchemaManager esqManager = UserConnection.EntitySchemaManager;
// Создание экземпляра запроса с корневой схемой "Contact".
var esqResult = new EntitySchemaQuery(esqManager, "Contact");
esqResult.AddColumn(esqResult.CreateAggregationFunction(AggregationTypeStrict.Count, "Name"));
// В запрос добавляются колонки CreatedOn и ModifiedOn, для которых задается тип функции для подсчета
// итога по этим колонкам.
esqResult.AddColumn("CreatedOn").SummaryType = AggregationType.Count;
esqResult.AddColumn("ModifiedOn").SummaryType = AggregationType.Count;
// Получение коллекции колонок запроса, для которых вычисляются итоговые значения.
var esqSummaryColumns = esqResult.GetSummaryColumns();
// Получение текста sql-запроса для формирования итоговых значений для колонок из коллекции
// esqSummaryColumns.
var summarySqlText = esqResult.GetSummarySelectQuery(UserConnection, esqSummaryColumns).GetSqlText();
// Текст sql-запроса для формирования итоговых значений.
// MS SQL:
// SELECT
// COUNT(*) [CreatedOn],
// COUNT(*) [ModifiedOn]
// FROM
// (
// SELECT
// [Contact].[CreatedOn] [CreatedOn],
// [Contact].[ModifiedOn] [ModifiedOn]
// FROM
// [dbo].[Contact] [Contact]
// GROUP BY
// [Contact].[CreatedOn], [Contact].[ModifiedOn]) [SubSelectSource]
// Oracle:
// SELECT
// COUNT(*) "CreatedOn",
// COUNT(*) "ModifiedOn"
// FROM
// (
// SELECT
// "Contact"."CreatedOn" "CreatedOn",
// "Contact"."ModifiedOn" "ModifiedOn"
// FROM
// "Contact" "Contact"
// GROUP BY
// "Contact"."CreatedOn", "Contact"."ModifiedOn") "SubSelectSource"
|
Смотри также