【发布时间】:2019-06-13 09:29:45
【问题描述】:
我需要使用 Microsoft XRM sdk 查询表达式通过 Windows 服务查询 SQL 数据库,我遇到了一个要求,我必须为每个项目选择最后 n 条历史记录,并像这样转换为 SQL:
SELECT
RecentPrices.ProductId,
Product.[Description],
RecentPrices.Price,
RecentPrices.DateChanged
FROM
(
SELECT
ProductId,
Price,
DateChanged,
Rank() over
(
Partition BY ProductId
ORDER BY DateChanged DESC
) AS Rank
FROM PricingHistories
) RecentPrices
JOIN ProductMaster Product
ON RecentPrices.ProductId = Product.Id
WHERE Rank <= 10
它应该输出最近 10 个价格变化历史的产品列表(价格和日期变化) 可以将其分组为 C# IEnumerable,例如:
产品
- ID:号码
- 描述:字符串
- PriceChangesLastTenPreview []:对象数组
这甚至可以在一个查询中使用查询表达式,还是我必须求助于每条记录的查询?
请帮忙
【问题讨论】:
标签: c# dynamics-crm dynamics-crm-2011 query-expressions