2016-07-05 1 views
1

シナリオを値に基づいて個別のレコードを取得します。 jsonの書式で格納された値(json列の値の1つである の値の1つ)に基づいて計算されます。PostgreSQLは、JSON

My table have 3 columns : 
1. Id (integer) 
ex. value - 20 
2. Description (text) 
ex.value - {"first_name":"John","last_name":"Doe","company_id":"26"} 
3. Created (integer) 

今私は、に基づいて個別のレコードが値をのcompany_idと、このような要件については、PostgreSQLで使用可能なすべての機能がありますしたいですか?

技術情報:

PostgreSQLバージョン - 9.5

+0

あなたが使用することができます[DISTINCT ON](https://www.postgresql.org/docs/current/static/sql-select.html#SQL-DISTINCT)あなたが '' jsonb''を持っているならば '' distinct distinct on(ex.value - >> 'company_id') '(または' 'distinct distinct on(ex.value - > 'company_id')' 'を選択してください)、他の列の値は保証されません( 'order by'式を追加しない限り)。 – pozs

答えて

1

のPostgres 9.5(だけでなく、いくつかの以前のバージョン)は、いくつかの組み込みのJSONテキストを照会するためのサポート。次のクエリを試してみてください。

SELECT * 
FROM yourTable 
WHERE Description->>'company_id' = 'some_value' 

Documentation

関連する問題