SQL - 需要找到一种方法来检查会员是否已续订

SQL - Need to find a way to check whether a member has renewed

所以,这可能很简单。我需要找到一种方法来检查某个计划的成员是否续订了他们的会员资格或让它过期,我需要生成一个简单的列表,列出那些没有续订的人......但是有一些复杂的因素,因为我不能使用 Excel,它只能一步到 Crystal 报告(尽管我已经使用简单的 Countifs 和 if 公式解决了 Excel 中的问题)

现在正题。

会员已在 table 的单独列中指定 Start/End 日期。很容易看出这个连续的基础是否已经过期。问题是,如果他们已经续约,这将被记录为一个单独的 table 条目,由对成员的个人引用链接。我还需要测试多项资格。

所以,虽然我可以测试到期日期,但问题是我如何根据个人参考和资格名称来测试其余数据,然后检查这是否是 "Current"。这样做将使我能够在单独的行上测试会员资格是否已续签。

任何关于方法的建议将不胜感激。

在不知道你有什么数据和胡乱假设的情况下,按照这些思路尝试一些东西

select distinct Member_id, 
       case 
         when exists (select 1 
                      from members m2 
                      where m2.member_id = m1.member_id
                      and (m2.expiry_date is null
                           or m2.expiry_date > '2018-01-25'))
           then 'Active'
         else 'Expired'
       end as mem_status
from members m1

exists 所做的是查看该成员是否具有活跃状态