假设我有一个users
和companies
表,其中1个用户可以为多个公司工作。在这种情况下,我使用JSON字段对其进行建模。Postgres:选择json字段数组中包含特定值的所有字段?
users
- id: PK
- jobs: json
样品jobs
领域:[{"company_id": 1, "title": "Engineer" }, {"company_id": 2, "title": "Accountant"}]
鉴于公司ID,是否有一种方式来运行一个SQL语句(Postgres的9.4),可以提取已在该公司工作的所有用户ID?喜欢的东西:
select id from users where map(jobs, "company_id") contains <?>
谢谢!这工作。我接受这个,因为这也适用于'json'字段类型。 @jgm的另一个答案也适用,但它需要你的字段是'jsonb'。 – huy