按日期时间描述更新前100行的顺序



我想更新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

但是,不起作用

您可以使用CTE首先从sterms获取TOP 100行,然后像这个一样从UPDATE获取

;WITH CTE AS 
(
SELECT TOP 100 * FROM sterms ORDER BY datetime desc
)
UPDATE st
set st.code=cd.conceptid
FROM CTE as st inner join Description cd on st.str=cd.term

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

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

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

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

最新更新