16.20 - 例: DIMENSION入力がある複数の入力テーブル演算子の使用 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-162K-JPN
Language
日本語 (日本)

この例では、携帯電話を使用して購入されたときに、テーブル演算子closest_storeが最も近い小売店を探します。演算子は、次の入力データセットを受け取ります。

  • 携帯電話を使用して行なわれた購入のエントリおよびオンライン購入が実行された際の電話の正規化された空間座標が含まれるphone_purchasesテーブル。
  • すべての小売店およびそれに関連付けられている正規化された空間座標が含まれるストア テーブル。ストア テーブルは、DIMENSION入力として提供されるテーブルより小さなファクト テーブルです。
    pid x_coordinate y_coordinate
    P0
    2
    1
    P1
    1
    5
    P2
    3
    2
    P3
    0
    4
sid x_coordinate y_coordinate
SO
1
4
S1
2
3

SELECTの構文は次のとおりです。

     SELECT pid, sid
       FROM closest_store (
       ON phone_purchases PARTITION BY pid,
       ON stores DIMENSION) AS D;

出力は次のようになります。

 
pid
---
 
sid
---
 
P0
 
S1
 
P1
 
S0
 
P2
 
$S1
 
P3
 
$SO

PARTITION BY ANYを使用してテーブル演算子を呼び出すこともできます。これにより、AMPで行の既存の配置を維持できます。SELECTの構文は次のとおりです。

     SELECT pid, sid
       FROM closest_store (
       ON phone_purchases PARTITION BY ANY,
       ON stores DIMENSION) AS D;