2017-06-06 13 views
0

だから私は、使用状況データを見るためにいくつかのクエリを記述するためにN1QLを学んでいます、と私は次のようなデータを見しようとしています:非常に基本的なN1QLグループ化データ操作

"data": { 
     "datapoints": [ 
     { 
      "point1": "data 1", 
      "point2": "data 2", 
      "point3": "data 3" 
     }, 
     { 
      "point1": "more data 1", 
      "point2": "more data 2", 
      "point3": "more data 3" 
     } 
    ] 
    } 

私のような選択した場合この:

SELECT data.datapoints [] .point1、data.datapoints [] DataTableの

私はこのように、バックカラムの名前でグループ化されたデータを取得

FROM .point2:

データポイントでグループ化されたものではなく、必要なフィールドだけでグループ化されたデータを返すようにクエリを設定できますか?ドキュメント間のデータポイントではなく、ドキュメント内のデータポイントのサブセットを参照するだけで、ドキュメントを見たいと思います。前もって感謝します!

EDIT:

SELECT data.datapoints[0].point1, data.datapoints[0].point2 FROM datatable 

私のデータはそうのように、適切にフォーマットされています:

"datapoints": [ 
    { 
     "point1": "data 1", 
     "point2": "data 2", 
    } 
    ] 

が、もちろん最初のデータポイントのレコードが返された私は、私はこのように私のクエリを設定する場合は注意してください。

答えて

1

SELECT ud AS datapoints FROM datatable d UNNEST d.datapoints AS ud;

UNNESTはJOINと同じです。 UNNESTは配列で動作します。
datatable d UNNEST d.datapoints AS udはdのデカルトJOINとd.datapointsの各要素を作成します。最後に、我々はudを予測する。

チェックアウト詳細については、UNNEST句を参照してください。

https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/from.html

+0

私がなぜわからないが、それは、私はそれがしたい正確に何を行います。ありがとう! –

関連する問題