[英]How to display name instead of id if records are in one table?
我正在使用CodeIgniter。 我有一个员工表,记录是
id |firstname | lastname | mobileno | created_by
2 |mnb | nbgfv | 1452145625 | 1
3 |jhg | uhgf | 1452365478 | 2
4 |poi | ijuy | 1458745632 | 2
5 |tgf | tgfd | 1458745254 | 2
6 |wer | qwes | 1523654512 | 2
现在,我的问题在created_by
列中。 当我显示任何id值的记录时,我得到的输出像
id |firstname | lastname | mobileno | created_by
3 |jhg | uhgf | 1452365478 | 2
但是我的预期输出
id |firstname | lastname | mobileno | created_by
3 |jhg | uhgf | 1452365478 | mnb nbgfv
我必须显示created_by
的名称
我只尝试了此查询。
$get_single_emp_record = array('id' => 3);
$this->db->where($get_single_emp_record);
$query = $this->db->get('tbl_employee');
$result = $query->row();
if($result)
{
return $result;
}
else
{
return 0;
}
您将不得不创建另一个表,也许是tbl_creator
,该表将具有id, creator_name
然后在查询中将执行Join操作
我有一个提示(也许这可以为您的问题提供解决方案)。 尝试这样查询:
SELECT
t1.id , t1.firstname , t1.lastname ,t1.mobileno,
CONCAT(t2.firstname ," ",t2.lastname ) AS createby
FROM tbl_employee AS t1
JOIN tbl_employee AS t2 ON t2.id = t1.created_by
WHERE t1.id = '3'
通过上述查询,您无需创建临时表或其他附加表。 我测试过了 >>> http://sqlfiddle.com/#!9/e693cf/2/0
希望能对您有所帮助。 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.