Просьба помочь собрать такой запрос при помощи класса select

select count(ID)

   from [dbo].[Case] AS TI

WHERE DATEPART(HOUR, DATEADD(hh, 6, TI.[UsrDueDate])) >=9  and DATEPART(HOUR, DATEADD(hh, 6, TI.[UsrDueDate])) <12

and FORMAT(DATEADD(hh, 6, TI.[UsrDueDate]), N'yyyy.MM.dd') = FORMAT(cast(GETDATE() +1 as date), N'yyyy.MM.dd')

Заранее спасибооо! 

Нравится

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

Добрый день, Адилет.

Вы можете настроить SQL-представление (view) с нужным условием.

А потом из этого представления уже делать выборку с помощью...ЕщеСвернуть

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

Продолжение темы: https://community.terrasoft.ru/questions/vopros-po-updateselect-k-razra…

Зачем в классе Terrasoft.DB.PostgreSql.PostgreSqlEngine в методе BuildUpdateSelectTargetSqlText(StringBuilder sb, ModifyQuerySource modifySource, string alias) код "string value = " \"" +...ЕщеСвернуть

Нравится

1 комментарий

Владислав, проблема в самом запросе, вы пытаетесь  задать один и тот же алиас как целевой таблице так и источнику. В вашем случае...ЕщеСвернуть

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

Зачем в классе Terrasoft.DB.MSSql.MSSqlEngine в методе BuildConditionSqlText(StringBuilder sb, UpdateSelect query) вызов метода ReplaceUpdateTargetAliasWithName(QueryCondition condition, string alias, string name) ?

Класс генерирует неправильный запрос в БД:

var us =
	new UpdateSelect...

ЕщеСвернуть

Нравится

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

Владислав, добрый день!

Прошу уточнить, при каких условиях у вас генерируется этот запрос?

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

Нет возможности в запросе (Select, Update и др.) указать математические функции, например: CEILING, FLOOR, ROUND и др.

Через Func.CustomFunction вызвать функцию нельзя, так как генерируется некорректный SQL текст, например для MS SQL:

[dbo].[CEILING](..params..)

а нужно без dbo:

CEILING(..params..)

Нет возможности выполнить элементарный запрос

UPDATE Contact
SET SomeContactColumn = CEILING(OtherContactColumn / 3)
WHERE Id = 'some id'
1 комментарий

Добрый день, Владислав.

Пожелание зарегистрировано и передано аналитикам продукта.

Пока что для реализации Вашего запроса используйте ...ЕщеСвернуть

Показать все комментарии
var contactIds = new List<Guid>();
var select = new Select(_userConnection).Distinct()
	.Column("SysAdminUnit", "ContactId")
	.From("SysAdminUnit").WithHints(Hints.NoLock)
	.Join(JoinType.Inner, "SysUserInRole").WithHints(Hints.NoLock)
		.On("SysAdminUnit", "Id").IsEqual("SysUserInRole", "SysUserId"...

ЕщеСвернуть

Нравится

Поделиться

5 комментариев

Если суть публикации в том, что можно коротко без using считать коллекцию, то есть еще более "модный" способ с помощью Linq.

var contactIds...

ЕщеСвернуть

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

Добрый день. Как реализовать вложенный OR с помощью Terrasoft.Core.DB.Select?

select id from account
where id = '123'
and (name = 'dsfsdf' or TypeId = 'wrew234')

Нравится

1 комментарий
Лучший ответ

Илья, нужно использовать OpenBlock и CloseBlock.

Пример есть тут.

Илья, нужно использовать OpenBlock и CloseBlock.

Пример есть тут.

Показать все комментарии
SELECT SysRoleId 
FROM SysUserInRole 
WHERE SysUserId = '7F3B869F-34F3-4F20-AB4D-7480A5FDF647'
UNION SELECT '7F3B869F-34F3-4F20-AB4D-7480A5FDF647'

Как реализовать это в Terrasoft.Core.DB.Select ??

Нравится

1 комментарий
Лучший ответ

Евгений, в Select можно использовать Union, в который передавать другой Select.

Пример такого использования есть в функции DeactivateProcessEntryPoint...ЕщеСвернуть

Евгений, в Select можно использовать Union, в который передавать другой Select.

Пример такого использования есть в функции DeactivateProcessEntryPoint...ЕщеСвернуть

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

Всем доброго времени суток!

Кто нибудь сталкивался с задаче формирования json объекта на ур-не SQL запроса?

Интересует возможно ли решить данную задачу через класс Select. Чистым SQL запросом знаю как сделать:

SELECT ES.Id AS [Id],
		ES.DayOfWeekId AS [DayOfWeekId],
		DOF.[Name] AS [DayOfWeekName],
		ES...

ЕщеСвернуть

Нравится

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

Решить через класс Select нельзя но чуть ниже есть примеры выполнения пользовательского sql скрипта на bpm

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

Приветы, помогите как написать запрос на esq или select

SELECT TOP 1000 aa.[Id]

      ,aa.[AddressTypeId]

      ,aa.[Address]

      ,aa.[AccountId]

      ,aa.[SxSubwayStationId]

  FROM [BetaPressBPM].[dbo].[AccountAddress] aa, [BetaPressBPM].[dbo].[Account] a

  aa.AccountId = a.Id and a.Id = 'AcountId_Value' 

  and aa.AddressTypeId='FB7A3F6A-F36B-1410-6F81-1C6F65E50343'

 

Нравится

12 комментариев

Тут зависит от того, где будет писаться запрос: на сервере или у клиента. 

Если у клиента: https://academy.terrasoft.ru/documents/technic-sdk/7-11/ispolzovanie-entityschemaquery-dlya-chteniya-dannyh-iz-bd

Если...ЕщеСвернуть

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

Приветы,

Учусь, читал всякое, например, https://academy.terrasoft.ru/documents/technic-sdk/7-8/rabota-s-filtram… не разобрался, подскажите плиз???

По смыслу нужно проверять есть ли звонки и считать сколько их

т. е. нужен Exists, Insert, Update

Как сделать запрос:

select CallCount from 

AACandCall a,

SxCandidate c

where

a.IdCand = c.Id

Нравится

1 комментарий

Добрый день

Ну во-первых следует избегать декартовых произведений (* from a, b)

Во-вторых можно посмотреть как это сделано в системе, к примеру...ЕщеСвернуть

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