Early Access: The content on this website is provided for informational purposes only in connection with pre-General Availability Qlik Products.
All content is subject to change and is provided without warranty.
メイン コンテンツをスキップする 補完的コンテンツへスキップ

Select

ODBC データ ソースまたは OLE DB プロバイダの項目選択は、標準的な SQL SELECT ステートメントを介して実行されます。ただし、SELECT ステートメントが許可されるかどうかは、使用する ODBC ドライバまたは OLE DB プロバイダによって異なります。

構文:  

Select [all | distinct | distinctrow | top n [percent] ] fieldlist

From tablelist

[where criterion ]

[group by fieldlist [having criterion ] ]

[order by fieldlist [asc | desc] ]

[ (Inner | Left | Right | Full) join tablename on fieldref = fieldref ]

 

さらに、union 演算子を使用して、複数の SELECT ステートメントを 1 つに連結できる場合があります。

selectstatement Union selectstatement

 

SELECT ステートメントは、ODBC ドライバまたは OLE DB プロバイダによって解釈されるため、ODBC ドライバまたはOLE DB プロバイダの機能の違いにより、一般的な SQL 構文との差が生じる場合があります。

  • as を使用できない場合があります。(その場合、aliasname は必ず fieldname の直後に記述する必要があります。)
  • aliasname を使用すると as の記述が必要になる場合があります。
  • distinctaswheregroup byorder byunion は、使用できないことがあります。
  • ODBC ドライバによっては、前述した引用符の一部を使用できない場合があります。
情報メモこれは、SQL SELECT ステートメントのすべてを説明したものではありません。例えば、SELECT ステートメントはネストしたり、複数の結合を 1 つの SELECT ステートメントで実行したり、数式で膨大な関数を使用できる場合があります。

引数:  

Select 引数
引数 説明
distinct distinct は、選択した項目の値の組み合わせが重複している場合に 1 回だけロードする際に使用する述語です。
distinctrow distinctrow は、ソース テーブルに含まれるレコードが重複している場合に 1 回だけロードする際に使用する述語です。
fieldlist fieldlist ::= (*| field ) {, field }

選択する項目のリスト。* を使用すると、テーブルのすべての項目が指定されます。

fieldlist ::= field {, field }

コンマで区切られた 1 つまたは複数の項目のリスト。

field ::= ( fieldref | expression ) [as aliasname ]

数式には、他の項目に基づいた数値や文字列関数を 1 つまたは複数使用できます。通常は、次のような演算子と関数を使用できます。+-*/& (文字列連結)、sum(fieldname)count(fieldname)avg(fieldname)(average)month(fieldname)。詳細については、ODBC ドライバのマニュアルを参照してください。

fieldref ::= [ tablename. ] fieldname

tablenamefieldname は、それぞれの名前を示すテキスト文字列です。スペースなどを含む場合は、ストレート二重引用符で囲む必要があります。

項目に新しい名前を割り当てるには、as 句を使用します。
from tablelist ::= table {, table }

項目が選択されるテーブルのリスト。

table ::= tablename [ [as ] aliasname ]

tablename は、引用符で囲むことも囲まないことも可能です。

From

where where 節は、レコードを選択に含めるかどうかを示します。

criterion は論理式で、非常に複雑になる場合があります。使用できる演算子には、数値演算子と関数 =<> または #( 等号否定)、>>=<<=andornotexistssomeallin および新しい SELECT ステートメントがあります。詳細については、ODBC ドライバまたは OLE DB プロバイダのマニュアルを参照してください。

group by group by 節は、複数のレコードを 1 つに集計 (グループ化) する際に使用します。1 つのグループに含まれる特定の項目のレコードは、すべて同じ値を持たなければなりません。そうでない場合は、項目は sum または average などの数式内でのみ使用する必要があります。1 つまたは複数の項目に基づいた数式は、項目記号の数式で定義されます。
having having 節は、レコードを修飾する where 節と同様の方法で、グループを修飾する際に使用します。
order by order by 節は、SELECT ステートメントの結果のテーブルのソート順を示します。
join join 修飾子は、複数のテーブルを 1 つに結合することを示します。項目名とテーブル名に、スペースや各国語文字セットが含まれる場合は、引用符で囲む必要があります。QlikView で自動生成されるスクリプトについては、Connect ステートメントのデータソース定義で指定される ODBC ドライバまたは OLE DB プロバイダ推奨の引用符が使用されます。

例1:  

SELECT * FROM `Categories`;

例2:  

SELECT `Category ID`, `Category Name` FROM `Categories`;

例3:  

SELECT `Order ID`, `Product ID`,

`Unit Price` * Quantity * (1-Discount) as NetSales

FROM `Order Details`;

例4:  

SELECT `Order Details`.`Order ID`,

Sum(`Order Details`.`Unit Price` * `Order Details`.Quantity) as `Result`

FROM `Order Details`, Orders

where Orders.`Order ID` = `Order Details`.`Order ID`

group by `Order Details`.`Order ID`;

詳細を見る

 

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。

分析の近代化プログラムに参加する

Remove banner from view

分析最新化プログラムにより、重要な QlikView app を危険にさらすことなく最新化しましょう。 ここをクリック して詳細を表示するか、次にお問い合わせください。 ampquestions@qlik.com