如果日期较大,则比较 2 列行,然后更新其他"Yes" "No"



i从日期和列有一个日期。我还有一列是符合条件的。因此,如果通过列的值大于日期列的值,则必须更新合格的列行,否则。

WHILE @MyDate > DATEADD(DAY,1,GETDATE())
BEGIN
    SELECT 
        MI.Suffix as [Mem Sfx], 
        CONVERT(VARCHAR(100), EB.Eligibility_Date, 101) as [From],
        CONVERT(VARCHAR(100), MI.EOI_Termination_Date, 101) as [Through],
        'No' AS Eligible, 
        SG.SubGroupId as Subgroup, 
        EB.Plan_ID as [Plan],
        '00' + RIGHT('123658' + CAST('00' AS VARCHAR(8)), 8) Product  
    FROM [dbo].[Members.Indicative] MI 
    INNER JOIN [dbo].[Eligibilty] EB ON EB.Subscriber_ID = MI.Subscriber_ID 
    INNER JOIN [dbo].[Subgroup] SG ON SG.Subscriber_ID=MI.Subscriber_ID  
    order by MI.Suffix
END

您可以使用case..when语句

case when CONVERT(VARCHAR(100), EB.Eligibility_Date, 101) <
          CONVERT(VARCHAR(100), MI.EOI_Termination_Date, 101) then
      'Yes'
else
      'No'
end as [Eligible]

最新更新