根据最新日期获取记录

比拉

在下面的查询中,我只需要记录一条最新的phDate。

 WITH TEMP_PAT_PIP_AddedBy
AS (
    SELECT S.ppId
        ,(
            SELECT PersonID
            FROM [PFMADestination].[dbo].PERSON
            WHERE SourceType = 'user_Users'
                AND SourceId = S.uuId
            ) AS AddedByToStore
        ,phDate
    FROM [PFMADestination].[dbo].PatientPIP D
    INNER JOIN [PFMAOldProd].[dbo].pat_History S ON S.ppId = D.PatientId
        AND phEvent = 'PIP-info uppdaterad'
    )
--select * from TEMP_PAT_PIP_AddedBy order by ppId, phDate desc
UPDATE P
SET AddedBy = ISNULL(AddedByToStore, 1), Date=phDate
FROM TEMP_PAT_PIP_AddedBy T
INNER JOIN [PFMADestination].[dbo].[PatientPIP] P ON T.ppId = P.PatientId

CTE的预期输出每个ppId仅获取最新的phDate,如果记录多于1个记录,则忽略其他phDate,然后对其进行更新。

在此处输入图片说明

希伦·达杜克(Hiren Dhaduk)

使用partition by子句可以得到预期的输出。尝试以下查询:

WITH TEMP_PAT_PIP_AddedBy
AS (
    SELECT S.ppId
        ,(
            SELECT PersonID
            FROM [PFMADestination].[dbo].PERSON
            WHERE SourceType = 'user_Users'
                AND SourceId = S.uuId
            ) AS AddedByToStore
        ,phDate , ROW_NUMBER() OVER(PARTITION BY S.ppId ORDER BY phDate DESC) AS NUM
    FROM [PFMADestination].[dbo].PatientPIP D
    INNER JOIN [PFMAOldProd].[dbo].pat_History S ON S.ppId = D.PatientId
        AND phEvent = 'PIP-info uppdaterad'
    )

UPDATE P
SET AddedBy = ISNULL(AddedByToStore, 1), Date=phDate
FROM TEMP_PAT_PIP_AddedBy T
INNER JOIN [PFMADestination].[dbo].[PatientPIP] P 
ON T.ppId = P.PatientId AND T.NUM=1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取最新日期

来自分类Dev

获取最新日期的第一条记录

来自分类Dev

mysql按升序获取最新日期记录

来自分类Dev

查询最新日期记录

来自分类Dev

如何通过sql中的最新日期获取用户名的最新记录

来自分类Dev

根据最新日期和每个用户获取最新的sql行

来自分类Dev

django返回记录的最新日期

来自分类Dev

如何用最新日期过滤记录

来自分类Dev

SQL:从另一个表获取用户的信息及其最新日期记录

来自分类Dev

如何从具有最新日期戳的JOIN中获取记录集?

来自分类Dev

下划线获取最新日期

来自分类Dev

获取具有最新日期的对象

来自分类Dev

从三列获取最新日期

来自分类Dev

获取php以正确添加最新日期

来自分类Dev

需要获取最新日期的数据

来自分类Dev

Python-获取最新日期列

来自分类Dev

获取UNIX中的最新日期

来自分类Dev

获取php以正确添加最新日期

来自分类Dev

交叉申请获取最新日期

来自分类Dev

下划线获取最新日期

来自分类Dev

获取MySQL组中的最新日期

来自分类Dev

如何根据最新日期从 group by 查询中获取最高价格

来自分类Dev

SQL-按每个记录的最新日期选择记录

来自分类Dev

MySQL:如何选择某个日期之前的最新日期的记录

来自分类Dev

如何根据日期组的最新日期过滤数据?

来自分类Dev

SQL-选择最新日期的“子”记录

来自分类Dev

SQL选择最新日期的记录并由此决定

来自分类Dev

按最新日期每月选择1个不同的记录

来自分类Dev

查找具有最新日期时间的记录