Вопрос
Как в результирующую таблицу запроса SELECT добавить ещё одну запись?
20 февраля 2021 16:07
SELECT SysRoleId FROM SysUserInRole WHERE SysUserId = '7F3B869F-34F3-4F20-AB4D-7480A5FDF647' UNION SELECT '7F3B869F-34F3-4F20-AB4D-7480A5FDF647'
Как реализовать это в Terrasoft.Core.DB.Select ??
Нравится
1 комментарий
Лучший ответ
20 февраля 2021 18:35
Евгений, в Select можно использовать Union, в который передавать другой Select.
Пример такого использования есть в функции DeactivateProcessEntryPoint схемы ProcessUserTaskUtilities:
var processListenersSelect = new Select(userConnection) .Column("Id") .From("SysEntityCommonPrcEl") .Where("RecordId").IsEqual(entityIdParameter) .And("RecordChangeType").IsEqual(Column.Parameter(EntityChangeType.Updated)); var select = new Select(userConnection) .Column("Id") .From("EntryPoint") .Where("EntityId").IsEqual(entityIdParameter) .And("IsActive").IsEqual(Column.Parameter(true)) .Union(processListenersSelect);
А получить во втором колонку-константу можно при помощи:
Column.Parameter(new Guid("7F3B869F-34F3-4F20-AB4D-7480A5FDF647"))
20 февраля 2021 18:35
Евгений, в Select можно использовать Union, в который передавать другой Select.
Пример такого использования есть в функции DeactivateProcessEntryPoint схемы ProcessUserTaskUtilities:
var processListenersSelect = new Select(userConnection) .Column("Id") .From("SysEntityCommonPrcEl") .Where("RecordId").IsEqual(entityIdParameter) .And("RecordChangeType").IsEqual(Column.Parameter(EntityChangeType.Updated)); var select = new Select(userConnection) .Column("Id") .From("EntryPoint") .Where("EntityId").IsEqual(entityIdParameter) .And("IsActive").IsEqual(Column.Parameter(true)) .Union(processListenersSelect);
А получить во втором колонку-константу можно при помощи:
Column.Parameter(new Guid("7F3B869F-34F3-4F20-AB4D-7480A5FDF647"))
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать