存储为数组的对象的值

时间:2018-10-22 03:13:42

标签: sql json postgresql-9.5

Select p."objectId" as "ObjectId-Key" 
      ,d."key" as "Key"
      ,(select "label" from "Field" f where f."objectId" = d.key) as "Label"
      ,d.value
      ,(select "value" from "FieldOption" fo where fo."objectId" = d.value) as "Field_Value"
from "Product" p  
  join jsonb_each_text(p."metadata") d on TRUE
Where 
--P."productType"= 'wne'
--and 
p."reference" = 'SFX001N0112'

我试图从“ FieldOption”中获取d.value的值,该字段有时是一个对象键或对象键数组。

当它是一个键时,我设法获取了值;当它是数组时,它返回了null。

有人可以建议如果对象是数组则如何提取它的值。 谢谢!

我的输出样本是 enter image description here

在第11行中,“值”是一个对象ID,存储为一个数组。我需要提取对象的值。

0 个答案:

没有答案