Сгруппировать данные json на основе одного атрибута при запросе кучной базы

Я могу получить приведенные ниже данные в кушетке с помощью запроса.

выберите отдельное имя поставщика, валюту, страну происхождения из RangePlan, где тип = "Поставщик"

[{ "CountryOfOrigin": "Китай", "currency": "USD", "supplierName": "abc" },

{ "CountryOfOrigin": "Китай", "currency": "USD", "supplierName": "bcd" },

{ "CountryOfOrigin": "Индия", "валюта": "USD", "supplierName": "hij" },

{ "CountryOfOrigin": "Индия", "валюта": "USD", "supplierName": "klm" }]

Теперь мне нужна помощь в получении данных по стране происхождения, как показано ниже.

{ 
 "china" : [ 
  { 
    "supplierName" : "abc", 
    "currency" : "USD" 
  } ,
  { 
    "supplierName" : "bcd", 
    "currency" : "USD" 
  } 
] 
 } 
  "india" : [ 
{ 
    "supplierName" : "hij", 
    "currency" : "INR" 
  } ,
  { 
    "supplierName" : "klm", 
    "currency" : "INR" 
  }     
  ] 
}

Мне нужен запрос к приведенному выше выводу.

Спасибо, Эмран


person Emraan    schedule 23.03.2017    source источник


Ответы (1)


SELECT RAW OBJECT v.CountryOfOrigin: v.val FOR v IN (SELECT q.CountryOfOrigin , ARRAY_AGG({"currency":q.Currency,"supplierName":q.SupplierName}) val FROM (SELECT DISTINCT SupplierName, Currency, CountryOfOrigin from RangePlan WHERE type = "Supplier") As q GROUP BY q.CountryOfOrigin) END;

person vsr    schedule 24.03.2017