[英]mysql join 2 user_ids in a row from users table
There are 2 tables: 有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
...
I want to join these two tables and get this as a result 我想加入这两个表并得到这个结果
id requester_username supplier_username status
1 John admin reserved
2 Doe admin supplied
3 name smith reserved
I can actually join these tables using active records like : 我实际上可以使用活动记录(例如:)连接这些表:
$this->db->select('orders.*,users.username')
->from('orders')
->join('users','users.id = orders.requester_id')
->get()->result();
but I dont know how to get the supplier username
at the same time. 但我不知道如何同时获取supplier username
。
Try adding a second JOIN: 尝试添加第二个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();
In MySql Your query should be like - 在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
Thanks 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.