sql >> データベース >  >> RDS >> Mysql

codeigniterで特定のIDを持つ単一の最後のレコードを取得する方法

    最高のIDに基づいてメンバーシップテーブルから各顧客の最後のレコードを取得するには、

    のように参加部分を微調整することで、メンバーシップへの自己参加を行うことができます。
    $this->db->select('c.*,m.*');
    $this->db->from('customer as c');
    $this->db->join('membership as m', 'c.id = m.customer_id', 'left'); 
    $this->db->join('membership as m1', 'm.customer_id = m1.customer_id AND m.id < m1.id', 'left'); 
    $this->db->where('m1.id IS NULL', null, false)
    $query = $this->db->get(); 
    

    プレーンSQLは次のようになります

    SELECT c.*,m.*
    FROM customer AS c 
    LEFT JOIN membership AS m ON c.id = m.customer_id 
    LEFT JOIN membership AS m1 ON m.customer_id = m1.customer_id 
                   AND m.id < m1.id
    WHERE m1.id IS NULL
    


    1. PostgreSQLIFステートメント

    2. 動的に作成された入力フィールドからテーブルにデータを更新します

    3. 複数の列を持つ単一の固定テーブルと柔軟な抽象テーブル

    4. オンラインホテル予約で競合状態を防ぐ方法