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]