ページの先頭行へ戻る
Symfoware Server V12.12.0 アプリケーション開発ガイド(共通編)

9.16 行値構成子を使用してデータを操作する

行値構成子を使用して、複数の列の並びを比較することができます。行値構成子はWHERE句に指定した以下の述語に指定可能です。

例1

小売履歴表から2010年4月1日以降に販売した製品の販売日と製品番号を求めます。

SELECT 販売年,販売月,販売日,製品番号
  FROM 小売履歴表 WHERE (販売年,販売月,販売日) >= (2010,4,1)

例2

小売履歴表から2008年4月と2010年3月の間に販売した顧客の番号を求めます。

SELECT 顧客番号 FROM 小売履歴表
 WHERE (販売年,販売月) BETWEEN (2008,4) AND (2010,3) 
 GROUP BY 顧客番号

行値構成子は論理演算子を用いた従来の記述に比べて記述性が向上します。

行値構成子を指定した記述例と行値構成子と等価な従来からの記述例を以下に示します。

行値構成子を指定したSQL文
SELECT 販売年,販売月,販売日,製品番号
  FROM 小売履歴表 WHERE (販売年,販売月,販売日) >= (2010,4,1)
行値構成子と等価な従来からのSQL文
SELECT 販売年,販売月,販売日,製品番号
  FROM 小売履歴表 
  WHERE 販売年>2010 OR 
        (販売年=2010 AND 販売月>4) OR 
        (販売年=2010 AND 販売月=4 AND 販売日>=1)