Я использую 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 |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;
}
У меня есть подсказка (возможно, это может дать решение вашей проблемы).
Попробуйте запрос так:
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
Надеюсь, может помочь вам. Спасибо
возможно, вам придется создать еще одну таблицу tbl_creator
который будет иметь id, creator_name
тогда в вашем запросе вы выполните операцию соединения