Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 基于相同文本的特定连续重复次数分组和更新的SQL脚本_Sql Server - Fatal编程技术网

Sql server 基于相同文本的特定连续重复次数分组和更新的SQL脚本

Sql server 基于相同文本的特定连续重复次数分组和更新的SQL脚本,sql-server,Sql Server,我发现这个脚本可以选择连续的项目,并在例如n=4时为每个项目更新另一个字段。我找不到如何在SQL中实现它,这个脚本可以工作,但它是用PostgreSQL编写的,我不使用它 update newLocations m set description= (select MAX(n.id2_location) from locations n where m.id_location=n.id_location ) wh

我发现这个脚本可以选择连续的项目,并在例如n=4时为每个项目更新另一个字段。我找不到如何在SQL中实现它,这个脚本可以工作,但它是用PostgreSQL编写的,我不使用它

update newLocations m
set description=
             (select MAX(n.id2_location) 
              from locations n
              where m.id_location=n.id_location )
where exists
(select *
from locations n2
where m.id_location=n2.id_location);

SELECT *
FROM NEWLOCATIONS;

小提琴在这里

您可以使用
更新自
语法:

UPDATE nl
    SET nl.description = (
        SELECT MAX(l.id2_location)
        FROM locations l 
        WHERE l.id_location = nl.id_location
    )
FROM newlocations nl
WHERE EXISTS (
    SELECT *
    FROM locations l
    WHERE l.id_location = nl.id_location
);

谢谢你的快速回复。例如,最后一项任务是仅在n=4时选择重复。我尝试在WHERE条件中添加“and count(nl.id\u location)>4”,但失败了!你知道为什么吗?