EAV表到平台

时间:2014-05-07 07:05:52

标签: mysql sql entity-attribute-value

说我有一张eav这样的表SQL Fiddle):

| Person_ID | PAttribute_ID | Value         |
| 1         | 1             | Flat Street 1 |
| 1         | 2             | 634-5789      |

并且想要创建一个将所有属性作为平面表返回的查询(例如,导出到电子表格)

除了手动连接所有属性之外,还有更好的方法吗?像这样:

SELECT id , address.Value AS adressV, telephone.Value as telephoneV
FROM person
LEFT JOIN eav AS address ON address.Person_ID = person.id AND address.PAttribute_ID = 1
LEFT JOIN eav AS telephone ON telephone.Person_ID = person.id AND telephone.PAttribute_ID = 2;

有2个属性可行,有50个属性,你会得到一个不可理解的查询。

0 个答案:

没有答案
相关问题