【发布时间】:2017-09-07 11:24:18
【问题描述】:
我正在使用 postgres 并有 2 个表,deviceTble 具有以下列:deviceName、device_id、type、deviceOwnerPerson_id、deviceAccessPerson_id。
另一个表是Person_kv,有两列id,data(包含人员信息,但采用 JSON 格式)。
我想从 deviceTble 中进行选择查询,并希望通过给定的 deviceOwnerPersonId 和 deviceAccessPersonId 使用 Person_kv 表中的人的名字和姓氏。
这是我必须从 person_kv 表中获取数据以获取表格形式的数据:
select data :: json ->> 'id' as id
, data :: json ->> 'name' as first_name
, data :: json ->> 'surename' as last_name
from Person_kv
和预期的 deviceTble 查询:
select deviceName,device_id,type from deviceTble
我很困惑,要么在 person_kv 查询上使用 WITH 子句,然后在此处加入,要么在 deviceOwnerPerson_id 和 deviceAccessPerson_id 上一一加入,或者是否还有其他方法可以使用内部查询
谁能告诉我如何获得所需的结果?
【问题讨论】:
-
您希望在这些表之间建立连接。 Joins Between Tables in the Postgres tutorial
标签: sql json postgresql