フィールドの順序 - Basic Teradata Query

Basic Teradata Query リファレンス

Product
Basic Teradata Query
Release Number
16.20
Published
2018年4月
Language
日本語
Last Update
2019-07-11
dita:mapPath
ja-JP/kil1527114222313.ditamap
dita:ditavalPath
ja-JP/kil1527114222313.ditaval
dita:id
B035-2414
Product Category
Teradata Tools and Utilities

WITH句の列が、関連付けられているSELECT句の中に示されているのと同じ順序で参照される場合は、サマリー値の戻り順序によって、BTEQは同一の結果行に、すべての集約操作のサマリー テキストを配置できます。 順序が一致しない場合は、サマリー テキストに対応する複数の結果行を生成します。 それぞれの集約操作の値に対し、個別の結果行が作成されます。

例 – 順序の一致

次の例は、簡単なSELECT WITH文です。このステートメントでは、WITH句の列参照の順序がSELECT句の列参照の順序と一致しています。 BTEQでは、サマリー テキストが同一の結果行に配置されます。

SELECT
   salary, edlev, hcap
FROM
   employee
WITH
   sum(salary), sum(edlev), sum(hcap)
WHERE
   deptno = 500 ;

BTEQの応答

*** Query completed. 8 rows found. 3 columns returned.
*** Total elapsed time was 1 second. 
Salary        EdLev       HCap
---------- ---------- ----------
 34,000.00         16          0
 44,000.00         20          0
 42,000.00         18          0
 30,000.00         16          0
 40,000.00         16          0
 56,000.00         20          0
 22,000.00         18          0
---------- ---------- ----------
268,000.00        124          0

同一の結果行にはタイトルを含めるスペースがないため、サマリーのタイトルはすべて消去されます。

例 - 順序の不一致

次の例も簡単なSELECT WITH文ですが、このステートメントでは、WITH句の列参照の順序がSELECT句の列参照の順序と一致していません。 BTEQは、結果サマリー テキストを複数の結果行に配置します。

SELECT 
              salary, edlev, hcap 
FROM 
      employee
WITH 
      sum(hcap), sum(edlev), sum(salary) 
WHERE 
      deptno = 500 ;

BTEQの応答

*** Query completed. 8 rows found. 3 columns returned. 
*** Total elapsed time was 1 second.
Salary          EdLev       HCap
---------- ---------- ----------
 44,000.00         20          0
 34,000.00         16          0
 42,000.00         18          0
 30,000.00         16          0
 40,000.00         16          0
 56,000.00         20          0
 22,000.00         18          0
---------- ---------- ----------
           Sum(HCap)           0
           Sum(EdLev)        124
268,000.00

サマリーのタイトルは、最初の集約値を除いて、サマリー テキストの結果の一部になっています。 最初のタイトルは、結果行のスペースが足りないため、表示されていません。