Я близок к тому, чтобы вырвать оставшиеся волосы, потому что не могу понять, как выполнить следующий запрос T-SQL в SubSonic 2.2:
SELECT SalesRep, Location, InvoiceNumber, PONumber, POReceivedOn, SurgeryDate, Surgeon
FROM dbo.vSalesRepCommissionGrouped AS vsrcg
WHERE UserID IN ( 5, 6, 20 )
AND ( ( SurgeryDate >= '2012-01-01'
AND SurgeryDate <= '2012-01-31'
)
OR ( SurgeryDate >= '2011-12-01'
AND SurgeryDate <= '2011-12-31'
AND POReceivedOn >= '2012-01-01'
)
)
ORDER BY SurgeryDate ASC
Я пробовал следующий SubSonic Select по крайней мере 10 различными способами, но не могу получить тот же результат.
new Select("SalesRep, Location, InvoiceNumber, PONumber, POReceivedOn, SurgeryDate, Surgeon")
.From(VSalesRepCommissionGrouped.Schema)
.WhereExpression("UserID").In(new[] { 5, 6, 20 })
.AndExpression("SurgeryDate").IsGreaterThanOrEqualTo(BeginDate).And("SurgeryDate").IsLessThanOrEqualTo(EndDate)
.Or("SurgeryDate").IsGreaterThanOrEqualTo(BeginDate.AddMonths(-1)).And("SurgeryDate").IsLessThanOrEqualTo(
EndDate.AddMonths(-1)).And("POReceivedOn").IsGreaterThanOrEqualTo(BeginDate).CloseExpression()
.OrderAsc("SurgeryDate");
Может ли кто-нибудь указать мне правильное направление?
Спасибо!
- Андрей