我有一个表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
答案 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'