【发布时间】:2022-05-19 18:42:11
【问题描述】:
我有 2 张表公司和联系人。联系人有地址 JSONB 列。 我尝试了一个 select 语句,在 contacts.linked_to_company 上加入并使用 jsonb_array_elements(company.addresses) 但我收到错误“无法从标量中提取元素”,我理解这是因为某些条目在列地址中确实有 [null]。我已经看到了使用 coalesce 或 CASE 语句的答案。 Coalesce 我可能无法工作,CASE 示例在 select 语句中如何在连接中使用它? 这是sql
SELECT company.id,
trading_name,
nature_of_business,
t.id contactID,
address->>'PostCode' Postcode,
position_in_company
FROM contact t FULL JOIN company ON (t.company_linked_to = company.id ),
jsonb_array_elements(t.addresses) address
WHERE
t.company_linked_to ='407381';
这里是示例 jsonb
[{"PostCode":"BN7788","Address":"South Street","AddressFull":"","Types":[{"Type":"Collection"}]}]
【问题讨论】:
标签: sql arrays json postgresql jsonb