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