【发布时间】:2016-07-20 07:52:13
【问题描述】:
我正在使用下面的代码从数据库中获取数据。
$this->db->select('users.id,users.username,users.user_status,users.monthlybasepoints,Badges_benefits.nick,Badges_benefits.statusmultiplier,users.intellipoints,payment_info.minpayout,users.earning')
->where('status',3)
->from('users')
->join('Badges_benefits','Badges_benefits.id=users.user_status')
->join('payment_info','payment_info.u_id=users.id')
->limit($limit,$offset)
->order_by($orderby,$order);
$que= $this->db->get();
return $que->result_array();
它正在将下面的输出返回给我。
sr name val metal code minpayout earn
1 liz 0 zinc 120 $22 $0
2 ahs226 70 Silver 105 $50 $2.1
->join('payment_info','payment_info.u_id=users.id')
因为我在表付款信息中只有 2 行,所以它只给我两个输出。而我希望它应该列出表用户的所有行,并且如果表支付信息中没有任何数学运算,则可以将 minpayout 的值输出为 null 像这样。
sr name val metal code minpayout earn
1 liz 0 zinc 120 $22 $0
2 ahs226 70 Silver 105 $50 $2.1
3 sdasd 34 any 343 null $34
3 sdasd 34 any 343 null $24
【问题讨论】:
-
关于表连接的一个很好的参考。看这里blog.codinghorror.com/a-visual-explanation-of-sql-joins
标签: php sql codeigniter join