Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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 Server - Fatal编程技术网

Sql server 如何基于结果集的前几行更新列数据

Sql server 如何基于结果集的前几行更新列数据,sql-server,Sql Server,我是MS SQL server的新手,我想编写一个查询来将数据从LHS转换为RHS。(如下图所示) 我参考了给出的答案,但无法完全理解查询,因为结果集分组在同一id上 非常感谢您的帮助。 谢谢。您不需要分组依据子句 在from子句上,您可以使用2自动联接来使用索引查找下一行和上一行 在select子句中,您只需调整case when语句,以实现如下特定规则(未经测试,但想法如下): 今日日期: Mysql:CURDATE() SQLServer:getdate() 注意:您也可以使用lea

我是MS SQL server的新手,我想编写一个查询来将数据从LHS转换为RHS。(如下图所示)

我参考了给出的答案,但无法完全理解查询,因为结果集分组在同一id上

非常感谢您的帮助。

谢谢。

您不需要
分组依据子句

from子句
上,您可以使用2
自动联接
来使用索引查找下一行和上一行

select子句
中,您只需调整
case when
语句,以实现如下特定规则(未经测试,但想法如下):

今日日期:

  • Mysql:CURDATE()
  • SQLServer:getdate()

注意:您也可以使用
lead
lag
窗口功能。

您不需要
分组依据子句

from子句
上,您可以使用2
自动联接
来使用索引查找下一行和上一行

select子句
中,您只需调整
case when
语句,以实现如下特定规则(未经测试,但想法如下):

今日日期:

  • Mysql:CURDATE()
  • SQLServer:getdate()

注意:您也可以使用
lead
lag
窗口函数。

CURDATE将是MySQL函数,与此无关。谢谢@Indent,我一定会尝试一下。我的要求是更新同一表格中的数据。谢谢。我会继续创建并保留一个新的已处理表。谢谢@Indent和草莓。提示:您可以创建一个视图RHS而不是表RHS,因为您需要这两个objectCURDATE都是MySQL函数,这与此无关。谢谢@Indent,我一定会尝试一下。我的要求是更新同一表格中的数据。谢谢。我会继续创建并保留一个新的已处理表。谢谢@Indent和草莓。提示:您可以在需要这两个对象的情况下创建视图RHS而不是表RHS
create table RHS as
select
    Curr.policy,
    case
    when prev.EventDate is null then Curr.policyIssueDate
    else EventDate 
    end as StartDate,
    case
    when next.EventDate is null then CURDATE()
    else EventDate 
    end as EndDate
from
    LHS Curr
    left join LHS next on
        Curr.INDEX+1= next.INDEX and
        Curr.policy = next.policy 
    left join LHS prev on
        Curr.INDEX-1= prev.INDEX and
        Curr.policy = prev.policy