1

2つのテーブルがあります:

orders:
id   requester_id   supplyer_id  status
1    423            1           reserved
2    500            1           supplied
3    222            2           reserved
...

users
id    username  register_date
1     admin     2012-01-01
2     smith     2013-01-01
...
423   John      2012-10-11
500   Doe       2012-12-11
222   name      2012-10-13 
...

これらの2つのテーブルを結合して、結果としてこれを取得したい

id  requester_username   supplier_username  status
1   John                 admin              reserved
2   Doe                  admin              supplied
3   name                 smith              reserved

私は実際に次のようなアクティブなレコードを使用してこれらのテーブルを結合できます:

$this->db->select('orders.*,users.username')
   ->from('orders')
   ->join('users','users.id = orders.requester_id')
   ->get()->result();

しかし、私supplier usernameは同時に取得する方法がわかりません。

4

2 に答える 2

0

2番目のJOINを追加してみてください。

$this->db->select('orders.*,requesters.username,suppliers.username')
   ->from('orders')
   ->join('users AS requesters', 'requesters.id = orders.requester_id')
   ->join('users AS suppliers',  'suppliers.id  = orders.supplier_id')
   ->get()->result();
于 2013-03-17T16:46:53.420 に答える
0

MySqlではクエリは次のようになります-

Select a.id, b.username, c.username, a.status
from orders a, users b, users c
where
a.requester_id = b.id 
And
a.supplyer_id = c.id

ありがとう

于 2013-03-17T16:47:34.250 に答える