按日期时间desc更新前100行

时间:2015-06-29 12:47:41

标签: sql sql-server

我想更新stermsorder by datetime desc的前100行以及inner join concept

查询是:

update top (100) sterms set st.code=cd.conceptid 
from sterms st inner join Description cd on st.str=cd.term order by datetime desc

然而这不起作用

3 个答案:

答案 0 :(得分:3)

您可以使用CTE首先获取TOP 100的{​​{1}}行,然后sterms来这样

UPDATE

答案 1 :(得分:1)

通常我认为这只是一个小错误。试试这个:

UPDATE TOP (100) st 
SET code = cd.conceptid 
FROM sterms st
INNER JOIN Description cd 
      ON st.str=cd.term 
ORDER BY st.datetime DESC

答案 2 :(得分:-1)

您可以使用子查询编写查询,然后更新数据。

update X set Code = conceptid From
(
select Top 100  st.code, cd.conceptid,
from sterms st inner join Description cd on st.str=cd.term order by datetime desc)X