我有一个实体,属性,值表,其中属性的定义也作为实体存在。在下面的示例中,它存储实体的firstname和lastname属性。 attr 33是已知的#34;并定义一个属性,该值是属性的名称。所以示例中的第三行有attr = 1,它指向第一行的entity = 1。
entity | attr | value
-------+------+------
1 | 33 | FirstName
2 | 33 | LastName
3 | 1 | John
3 | 2 | Doe
4 | 1 | Bruce
4 | 2 | Willis
5 | 1 | Mark
5 | 2 | Hamill
我想检索这个表,而没有在结果中重复实体和attr id的开销(因为在现实世界中有很多行,而id是uuid)。因此,我想以下面的JSON格式检索上表:
[
[{'Id': 1, 'name': 'FirstName'}, {'Id': 2, 'name': 'Lastname'}],
[3, 'John', 'Doe'],
[4, 'Bruce','Willis'],
[5, 'Mark', 'Hamill']
]
在postgres 9.5中是否有任何高效的方法?