Коллеги, приветствую.
Есть некоторый запрос, который возвращает информацию по должнику и последней активности, проявленной в отношении него:
SELECT
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;
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 проделывается то же, но считываются записи по всем активностям:
var selectNewPayments = (Select)new Select(userConnection)
.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;
.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;
Как прочитать только первую запись?
Был бы весьма признателен за информацию.
Спасибо.
--
С уважением, Алексей Быков.
Нравится
2 комментария
8 апреля 2016 17:53
Нашел, собственно -
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;
15 декабря 2022 07:14
Такой запрос возможен???
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')
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать