У меня есть таблица, в которой есть несколько столбцов, которые содержат идентификаторы для одной другой таблицы.
Пример:
T1 {id,p1,p2,p3}
T2 {id,name}
Итак, p1
, p2
и p3
являются идентификаторами от T2
.
То, что я хочу сделать, это выбрать все из T1
и иметь значение имени из T2
.
Это то, что я сейчас использую:
select
T1.id,T1.p1,T1.p2,T1.p3,
T2a.name as p1_name,T2b.name as p2_name,T2c.name as p3_name
from
T1 left join T2 as T2a on T1.p1=T2a.id
left join T2 as T2b on T1.p2=T2b.id
left join T2 as T2c on T1.p3=T2c.id;
Это как это должно быть сделано? Есть ли какие-то проблемы со скоростью, о которых мне следует беспокоиться?
Спасибо.