例: 複数行からの複数値を1つのインスタンスに集約する - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - DATASETデータ型

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
ft:locale
ja-JP
ft:lastEdition
2021-09-23
dita:mapPath
ja-JP/amv1590702100517.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1198
Product Category
Software
Teradata Vantage

DATASET_PUBLISHを使用して、複数の行から複数の値を、各AMPの1つのインスタンスにローカルに集約します。このAMPローカル集約はテーブル演算子の標準のオペレーティング プロシージャです。

すべての入力値の集約を1回で実施するために、DATASET_PUBLISHを文の中で2回呼び出すことができます。DATASET_PUBLISHがPARTITION BY句なしで1回呼び出された場合は、各AMPは集約された出力を1行で作成します。この例では、いくつかの入力データがソース テーブルに追加されます。

INSERT INTO employeeTable(4,'Jose Hernandez','Engineering'); 
INSERT INTO employeeTable(5,'Kyle Newman','Engineering');
INSERT INTO employeeTable(6,'Pamela Giles','Sales');

SELECT data.toJSON() FROM DATASET_PUBLISH
(
	ON (SELECT * FROM employeeTable)	 
) AS avroFiles;

data.toJSON()
[{
	"empID": 5,
	"empName": "Kyle Newman",
	"empDept": "Engineering"
},
{
	"empID": 3,
	"empName": "Steven Mazzo",
	"empDept": "Engineering"
},
{
	"empID": 1,
	"empName": "George Smith",
	"empDept": "Accounting"
},
{
	"empID": 2,
	"empName": "Pauline Kramer",
	"empDept": "HR"
}]
–-------------------------------------
[{
	"empID": 4,
	"empName": "Jose Hernandez",
	"empDept": "Engineering"
}]
–-------------------------------------
[{
	"empID": 6,
	"empName": "Pamela Giles",
	"empDept": "Sales"
}]