Коллеги, приветствую.
Есть некоторый запрос, который возвращает информацию по должнику и последней активности, проявленной в отношении него:
TOP 1
ContactId as id,
AC.CreatedOn as activityDate,
UP.CreatedOn as paymentDate
FROM
Activity as AC INNER JOIN UsrPayments as UP
ON AC.ContactId = UP.UsrDebtorId
WHERE
UP.CreatedOn > AC.CreatedOn
ORDER BY AC.id ASC;
И есть некоторый код на C#, где с помощью класса Select проделывается то же, но считываются записи по всем активностям:
.Column("t1", "ContactId")
.Column("t1", "CreatedOn")
.Column("t2", "CreatedOn")
.From("Activity").As("t1")
.Join(JoinType.Inner, "UsrPayments").As("t2")
.On("t1", "ContactId").IsEqual("t2", "UsrDebtorId")
.Where("t1", "CreatedOn")
.IsLess("t2", "CreatedOn") as Select;
Как прочитать только первую запись?
Был бы весьма признателен за информацию.
Спасибо.
--
С уважением, Алексей Быков.
Нравится
Нашел, собственно -
[code]
var selectNewPayments = (Select)new Select(userConnection)
.Top(1)
.Column("t1", "ContactId")
.Column("t1", "CreatedOn")
.Column("t2", "CreatedOn")
.From("Activity").As("t1")
.Join(JoinType.Inner, "UsrPayments").As("t2")
.On("t1", "ContactId").IsEqual("t2", "UsrDebtorId")
.Where("t1", "CreatedOn").IsLess("t2", "CreatedOn").OrderByAsc("t1", "id") as Select;
[/code]
Такой запрос возможен???
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')