JDBC Driver for REST

Build 22.0.8479

垂直フラット化

垂直フラット化クエリを使用すると、ネストされたエレメントを個別のテーブルのように取得することが可能です。

垂直フラット化クエリ構文

FROM 句では、ドット表記を使用してネストされたエレメントにドリルダウンできます。

SELECT * FROM [people.vehicles] 

Raw データ ドキュメントの単一の配列エレメント(people 配列のperson オブジェクト)を考えてみましょう。

<?xml version="1.0" encoding="UTF-8" ?>
<root>
<people>
  <personal>
    <age>20</age>
    <gender>M</gender>
    <name>
      <first>John</first>
      <last>Doe</last>
    </name>
  </personal>
  <vehicles>
    <type>car</type>
    <model>Honda Civic</model>
    <insurance>
      <company>ABC Insurance</company>
      <policy_num>12345</policy_num>
    </insurance>
    <maintenance>
      <date>07-17-2017</date>
      <desc>oil change</desc>
    </maintenance>
    <maintenance>
      <date>01-03-2018</date>
      <desc>new tires</desc>
    </maintenance>
  </vehicles>
  <vehicles>
    <type>truck</type>
    <model>Dodge Ram</model>
    <insurance>
      <company>ABC Insurance</company>
      <policy_num>12345</policy_num>
    </insurance>
    <maintenance>
      <date>08-27-2017</date>
      <desc>new tires</desc>
    </maintenance>
    <maintenance>
      <date>01-08-2018</date>
      <desc>oil change</desc>
    </maintenance>
  </vehicles>
  <source>internet</source>
</people>
</root> 
  

接続文字列

次の接続文字列を使用すると、本製品 はネストされたデータをパースしません。データはクエリを実行すると処理されます。デフォルトのFlattenObjects 機能により、トップレベルエレメントのプロパティはフラット化されます。ネストされたデータはXML の集計として返されます。

URI=C:\people.txt;DataModel=Document;XPath='/root/people;'

クエリ

垂直フラット化ではvehicles エレメントを別々のテーブルとして取得することを許可します。

SELECT * FROM [people.vehicles]
このクエリは、次のデータセットを返します。

featuresinsurance.companyinsurance.policy_nummaintenancemodeltype

<features>sunroof</features><features>rims</features>
ABC Insurance12345
<maintenance><date>07-17-2017</date><desc>oil change</desc></maintenance><maintenance><date>01-03-2018</date><desc>new tires</desc></maintenance>
Honda Civiccar

<features>lift kit</features><features>tow package</features>
ABC Insurance12345
<maintenance><date>08-27-2017</date><desc>new tires</desc></maintenance><maintenance><date>01-08-2018</date><desc>oil change</desc></maintenance>
Dodge Ramtruck

<features>upgraded stereo</features>
Car Insurance98765
<maintenance><date>05-11-2017</date><desc>tires rotated</desc></maintenance><maintenance><date>11-03-2017</date><desc>oil change</desc></maintenance>
Toyota Camrycar

<features>custom paint</features><features>custom wheels</features>
Car Insurance98765
<maintenance><date>10-07-2017</date><desc>new air filter</desc></maintenance><maintenance><date>01-13-2018</date><desc>new brakes</desc></maintenance>
Honda Accordcar

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8479