将表的行值与另一个表的列追加

时间:2019-06-24 15:26:46

标签: mysql rows

我有一个表T1,其中包含标准列,例如姓名,电子邮件,电话号码。自定义字段存储在custom_fields表中,作为键,值。

我需要具有custom_fields的键名作为实际表上的列名。我该如何实现

表T1

id名称电子邮件

1 John john@example.com

2 Sam same@mydomain.com

custom_fields

id T1_id键值

1 1年龄32

2 1个职位的首席执行官

3 2年龄40

4 2辆福特Eco Ecoport车

必需

T1_id名称电子邮件年龄job_title汽车拥有

1 John john@example.com 32 CEO未指定

2 Sam same@mydomain.com 40未指定福特EcoSport

1 个答案:

答案 0 :(得分:0)

您应该两次使用表custom_fields一次用于工作,一次用于汽车

select  t1.id, t1.name, t1.email, t2.value, t3.value 
from  t1 
inner join custom_fields t2 on t1.id = t2.t1_id and  t2.key = 'Job Title' 
inner join custom_fields t3 on t1.id = t3.t1_id and  t3.key = 'Car Owned'