【发布时间】:2015-08-26 16:18:58
【问题描述】:
我有一个存储过程,该过程通常会返回多行,例如:
ID Type Price
1234 A 2.260
1234 B 2.690
1234 C 2.990
1234 D 2.690
1234 D 2.790
1234 D 2.650
1234 D 2.680
我想输出每种类型的最新值。在我的数据阅读器中,我有:
While dr.Read
result.price.TypeA= dr("price")
result.price.TypeB= dr("price")
result.price.TypeC= dr("price")
result.price.TypeD= dr("price")
End While
我的查询看起来像:
select sm_id,
type,
price
from ** WITH (NOLOCK)
where id = @id
order by id desc
我不确定如何将所有结果存储到我的对象中,以便我可以在前端访问它们。
【问题讨论】:
-
LINQ。 LINQ 是您的答案。请参阅此处 stackoverflow.com/questions/157786/… 或 stackoverflow.com/questions/14502428/… 。我试图打出一个答案,但有太多的假设和未知数无法连贯。您的查询的问题之一是所有 ID 似乎都相同。如果这不是错字,您将需要一个唯一标识符;我建议
ROW_NUMBER() -
另外,您的查询将是选择按类型分组的最大 ID
-
“输出最新值”——如何确定最新值?
-
@T.S.发布此内容后,我意识到我需要查询另一列。我现在将更新日期作为查询的一部分。
-
@rlb.usa 非常感谢!我去看看!