Как отобразить имя вместо идентификатора - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть две таблицы Test1 и Test2.

Test1

p_id|imp_id | Name    |  Member_type  
1   |001    | A       |  1    
2   |002    | B       |  2     
3   |003    | C       |  1     
4   |004    | D       |  2

Test2

r_id|p_id |secondary_type  
1   |1    |2    
2   |3    |4    

Я использую объединение для получения выходных данных моего дизайна.

Запрос

SELECT * FROM `test1` JOIN `test2` ON `test2`.`secondary_type` = `test1`.`p_id` 

Мой вывод

p_id    imp_id  Name    Member_type     r_id    p_id    secondary_type  
2       002     B       2               1       1       2
4       004     D       2               2       3       4

Итак, я получаю p_id значение. Я должен отобразить имя вместо значения Id.

Например, B подключен к A. Поэтому я получаю идентификатор A, но мне нужно имя, присвоенное ID.

Так что мой вывод будет

p_id    imp_id  Name    Member_type     r_id |  p_id|   secondary_type  
2       002     B       2               1    |   A  |   2
4       004     D       2               2    |   C  |   4

Я пытался использовать CodeIgniter.

$this->db->select('*');
$this->db->from('test1');
$this->db->join('test2', 'test2.secondary_type = test1.p_id');

1 Ответ

0 голосов
/ 15 ноября 2018

Попробуйте использовать псевдоним в операторе выбора, например

SELECT 
test1.p_id,test1.imp_id,test2.name,test1.member_type,test2.r_id,test1.name as 
p_id,test2.secondary_type 
FROM `test1` JOIN `test2` 
ON `test2`.`secondary_type` = `test1`.`p_id` 

Результат будет соответствовать вашему требованию.

...