如何在列中找到最新值?

时间:2011-12-23 17:54:25

标签: sql

如何在列中找到最新值?只有1列更改值,并且它不是主标识符。

(select    ( t_Order_Assignment.dte_assignment )
from t_order_assignment  WITH (NOLOCK)
inner join t_order_detail on t_Order_Assignment.order_detail_id = t_order_detail.Order_Detail_ID)as 'dte_assignment'  

这也是在一个更大的查询中设置的,因此order by子句不起作用。我尝试过@@identity, scope, top 1和最后一次(不起作用)。我只需要上面列出的特定列中的最新值。

由于

2 个答案:

答案 0 :(得分:1)

为什么不在表t_order_assignment上的索引或键字段上使用max()函数?

答案 1 :(得分:0)

所以你说这不起作用吗?

(select   top 1 t_Order_Assignment.dte_assignment
from t_order_assignment  WITH (NOLOCK)
inner join t_order_detail on t_Order_Assignment.order_detail_id =     t_order_detail.Order_Detail_ID
order by CAST(t_Order_Assignment.dte_assignment AS DateTime) desc
)as 'dte_assignment'  

- 刚刚看到关于将日期存储为字符串的评论...不是一个好的举动,但可能不在你的手中,所以订单上有一个演员。这没有错误处理,所以你可能想看看......