我有两张桌子。
“成员”表:
member_id、member_name、voter_id
1、ABC、2
2,弗雷德,0
(所以,弗雷德是 ABC 的选民。)
“计费”表:
billing_id、member_id、billing_expiration
2012 年 1 月 1 日
2013 年 2 月 1 日
2014 年 3 月 1 日
(因此,ABC 每年支付了三笔款项,并支付到 2014 年。)
我正在寻找生成所有成员的列表,但有一个额外的列“到期”,显示他们的最高值到期时间。但是 - 这是我不知道该怎么做的部分。除了“ABC”将“2014”显示为“过期”之外,我希望“投票人”成员显示与父成员相同的过期值(在这种情况下,Fred 也会显示 2014,最高找到的值)。
交流电
###### 更新到之前的帖子这里是sql。它非常慢,并且由于没有返回最高年份而失败。
select member.*, corp.*, billing.billing_expires from member
left join member as corp
on (corp.voter_id = member.member_id)
left join billing
on (corp.voter_id = billing.member_id)
group by member.member_id
order by billing.billing_expires desc