1
我有batch_table
表,其中包含batchid
类型的串行INT和data
类型JSONB的,我用GIN
data
列索引,Postgres的访问JSONB元素有效的方式
batchid | data
---------------------------------------------
1 | [{"year":2000,"productid":[21, 32, 5]}]
2 | [{"year":2001,"productid":[21, 39, 5]},{"year":2000,"productid":[1, 25, 5]}]
3 | NULL
4. | [{"year": 2000,"productid":[5]}
现在我想通过获得batchid
下列要求
1. year
= 2000 & productid
= 5
2. year
= 2000 & productid
=( 21或5)
3. year
= 2000 & productid
=(21 & 5)
,我尝试这个
SELECT batchid FROM batch_table WHERE (data->>'year')::int = 2000 AND (data->>'productid')::int = 5;
与AND
& OR
其他查询
感谢一个很多,它正在按我的需要工作 – Harish