Postgres EAV到JSON

时间:2016-05-11 16:43:09

标签: json postgresql

我有一个实体,属性,值表,其中属性的定义也作为实体存在。在下面的示例中,它存储实体的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中是否有任何高效的方法?

0 个答案:

没有答案