0

私は2つのテーブルを持っています。

「メンバー」テーブル:

member_id、member_name、voter_id

1、ABC、2

2、フレッド、0

(つまり、フレッドは ABC の有権者です。)

「課金」テーブル:

請求ID、メンバーID、請求有効期限

2012年1月1日

2013年2月1日

2014年3月1日

(したがって、ABC は 3 回の年次支払いを行い、2014 年まで支払われます。)

すべてのメンバーのリストを生成しようとしていますが、最高値の有効期限を示す「有効期限」列が追加されています。しかし、ここが私がどうすればよいかわからない部分です。「有効期限」として「2014」を示す「ABC」に加えて、「有権者」メンバーに、親メンバーで見つかったものと同じ有効期限値を表示する必要があります (この場合、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 
4

1 に答える 1