如果记录在一个表中,如何显示名称而不是id?

rt4zxlrg  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(376)

我正在使用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;
   }
jv4diomz

jv4diomz1#

我有一个提示(也许这能解决你的问题)。尝试如下查询:

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型
希望能帮到你。谢谢

imzjd6km

imzjd6km2#

您可能需要创建另一个表 tbl_creator 这将有 id, creator_name 然后在查询中执行连接操作

相关问题