Оператор MySQL: разбиение значений строк на новые столбцы - PullRequest
0 голосов
/ 17 сентября 2009

Используя MySQL, мне нужно вернуть новые столбцы имени / фамилии для каждого пользователя в таблице 1.

**Table1**  
uid  
1  
2  

**Table2**  
id   fid   uid   field_value  
1    1     1     Joe  
2    2     1     Blow  
3    1     2     Joe  
4    2     2     Blogs

**Result**
uid   first_name   last_name
1     Joe          Blow
2     Joe          Blogs

Ответы [ 3 ]

2 голосов
/ 17 сентября 2009

Решение простое,

select t1.uid, t21.field_value first_name, t22.field_value last_name
from table1 t1, table2 t21, table2 t22
where t1.uid=t21.uid and t1.uid=t22.uid and t21.fid=1 and t22.fid=2
0 голосов
/ 17 сентября 2009

Это должно сделать это (не проверено):

select a.uid, a.field_value first_name, b.field_value last_name
from table2 a inner join table2 b on a.uid = b.uid 
where a.fid = 1 and b.fid = 2
0 голосов
/ 17 сентября 2009

при условии, что у вас есть столбцы first_name и last_name в table2:

select uid, first_name, last_name from table1 left join table2 on table1.uid=table2.uid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...