QUERY その2
前ページ 次ページ 戻 る 目 次

QUERYは、データベースの情報を、非常に簡単に検索処理できるユーティリティーです。
プログラミングをしらなくても対話型で設定をすすめて本格的な報告書の作成ができます。
このページでは、簡単なサンプルを材料にQUERY(一部)を紹介します。



各種QUERY定義

本格的な一覧表やレポートの作成をするには、必要に応じて各種QUERYの定義を行います。


保存したQUERYの変更

一度定義して保存してあるQUERYを改定するには、QUERY処理の画面で、2の変更を選択します。

                                  QUERY 処理                                    
                                                                                
  選択項目を入力して,実行キーを押してください。                                
                                                                                
    オプション . . . .   2              1= 作成, 2= 変更, 3= コピー, 4= 削除 
                                        5= 表示, 6= 定義の印刷                 
                                        8= バッチで実行, 9= 実行               
    QUERY 定義 . . . .   TEST            名前,リストは F4キー                    
      ライブラリー . .     QTEMP         名前, *LIBL, リストは F4キー            
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 F3= 終了    F4=プロンプト    F5= 最新表示    F12= 取消し                          

オプションで各種の処理ができますが、変更するときは番号(2)を入力します。


下記画面から、必要に応じて各種QUERYの定義を行います。
それぞれの定義を終わると、この画面に戻ります。定義済みには’’の印がついています。

                                  QUERY 定義                                    
                                                                                
  QUERY. . . . . . :   TEST               オプション . . . :    変更            
    ライブラリー . :     QTEMP            CCSID. . . . . . :   65535            
                                                                                
  オプション を入力して実行キーを押すか, F21 を押してすべてを選択してください。    
   1= 選択                                                                      
                                                                                
 OPT    QUERY 定義オプション                                                    
      >  ファイル選択指定                                                       
         結果のフィールドの定義                                                 
         フィールドの選択および順序付け                                         
         レコードの選択                                                         
         分類フィールドの選択                                                   
         照合順序の選択                                                         
         報告書の欄の形式指定                                                   
         計算機能の選択                                                         
         制御レベルの定義                                                       
      >  出力タイプおよび出力形式の選択                                         
         処理オプションの指定                                                   
                                                                                
 F3= 終了           F5= 報告書                                                  
 F13= レイアウト    F18= ファイル    F21= すべての選択                          
      


結果のフィールドの指定

単価*数量のように演算結果のフィールドを、定義するような場合に選択します。
この項に関しては、JOINファイルの使用のところで説明します。


フィールドの選択および順序付け

すべてのフィールドを表示/印刷する必要がなければ、この選択で指定します。
選択すると次の画面が表示されます。
                        フィールドの選択および順序付け                          
                                                                                
  報告書に表示したい 500 以内のフィールド名に順序番号 (0-9999) を入力して,     
    実行キーを押してください。                                                  
                                                                                
 SEQ    フィールド        テキスト                                     LEN  DEC 
       TKSTS              状態                                           1      
 2     TKTKNO             得意先                                       5      
 3     TKNMKJ             得意先名                                      42   O  
 4     TKNMKN             得意先カナ名                                  20      
 5     TKTEL              TEL                                        12      
 1     TKSLNO             担当営業                                     4      
       TKFLAG             フラグ                                         1      
 6     TKURJS             売上実績                                      11    0 
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                         終り   
 F3= 終了    F5= 報告書    F11= 名前のみの表示    F12= 取消し                   
 F13= レイアウト    F20= 番号つけ直し    F21= すべての選択    F24= キーの続き   
                                                                                

ここではフィールドの選択および順序付けを番号で行います。
番号を入力しないフィールドは出力されません。
番号を入力して実行キーを押すと番号順に整列されます。

                        フィールドの選択および順序付け                          
                                                                                
  報告書に表示したい 500 以内のフィールド名に順序番号 (0-9999) を入力して,     
    実行キーを押してください。                                                  
                                                                                
 SEQ    フィールド        テキスト                                     LEN  DEC 
    1  TKSLNO             担当営業                                     4      
    2  TKTKNO             得意先                                       5      
    3  TKNMKJ             得意先名                                      42   O  
    4  TKNMKN             得意先カナ名                                  20      
    5  TKTEL              TEL                                        12      
    6  TKURJS             売上実績                                      11    0 
       TKSTS              状態                                           1      
       TKFLAG             フラグ                                         1      
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                         終り   
 F3= 終了    F5= 報告書    F11= 名前のみの表示    F12= 取消し                   
 F13= レイアウト    F20= 番号つけ直し    F21= すべての選択    F24= キーの続き   
  実行キーを押して確認してください。                                            

実行キーをおすと、QUERY定義の画面に戻ります。
番号が複雑になったときはF20キーで番号のつけ直しができます。10番とびになります。

レイアウトのチェック

印刷出力する場合、レイアウトをチェックするときはF13キーでチェックできます。

                             報告書レイアウトの表示                             
                                               報告書の幅  . . . . . :     121  
  行の位置指定 . . . . . . .               桁移動  . . . . . . . . . .         
  行    ....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
         担当営業    得意先    得意先名                                     
 000001     XXXX        XXXXX      OOOOOOOOOOOOOOOOOOOO   XX
 ****** ********  報告書レイアウトの終り  ********                              

桁移動のフィールドに表示開始の桁を入力して移動できます。

                             報告書レイアウトの表示                             
                                               報告書の幅  . . . . . :     121  
  行の位置指定 . . . . . . .               桁移動  . . . . . . . . . .   73     
  行    ..+....8....+....9....+...10....+...11....+...12.                       
         意先カナ名          TEL            売上実績                         
 000001 XXXXXXXXXXXXXXXXXX  XXXXXXXXXXXX  99,999,999,999                        
 ****** ********  報告書レイアウトの終り  ********                              
上の例では、132桁の幅に入ることがわかります。


◆レコードの選択

                                レコードの選択                                  
                                                                                
  比較条件を入力し実行キー。新しい各グループを始めるにはORを指定してください。
    テスト: EQ, NE, LE, GE, LT, GT, RANGE, LIST, LIKE, IS, ISNOT...            
                                                                                
 AND/OR   フィールド       テスト     値 (フィールド, 数値,V文字V , または ...)     
         TKTKNO          GE     '11100'                                       
  AND    TKTKNO          LE     '11199'                                       
                                                                                
                                                                                
                                                                                
                                                                                
                                                                         終り   
                                                                                
  フィールド      テキスト                                             LEN  DEC 
 TKSLNO           担当営業                                             4      
 TKTKNO           得意先                                               5      
 TKNMKJ           得意先名                                              42   O  
 TKNMKN           得意先カナ名                                          20      
 TKTEL            TEL                                                12      
                                                                      続く ...  
 F3= 終了    F5= 報告書    F9= 挿入    F11= 名前のみの表示                      
 F12= 取消し    F13= レイアウト    F20= 再編成    F24= キーの続き               
                                                                                

ここでは、選択条件をセットします。
上の例では得意先bェ11100から11199のレコードだけ選択しています。
画面下半分はフィールドの一覧になっているので、参照できます。下半分をスクロールさせるにはカーソルを
下半分の位置において、スクロールキーを押します。

選択条件をセットして実行キーをおすと、QUERY定義の画面に戻ります。


分類フィールドの選択

希望の項目順に表示をさせたい場合には、「分類フィールドの選択」を選択します。
次のような画面が表示されます。

                              分類フィールドの選択                              
                                                                                
 32 以内のフィールド名の分類優先順位 (0-999) およびA(昇順)またはD(降順)   
    を入力して,実行キーを押してください。                                      
                                                                                
  分類                                                                          
 PRTY A/D   フィールド      テキスト                                   LEN  DEC 
  1        TKSLNO           担当営業                                   4      
           TKTKNO           得意先                                     5      
           TKNMKJ           得意先名                                    42   O  
           TKNMKN           得意先カナ名                                20      
           TKTEL            TEL                                      12      
  2    D   TKURJS           売上実績                                    11    0 
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                         終り   
 F3= 終了    F5= 報告書    F11= 名前のみの表示    F12= 取消し                   
 F13= レイアウト    F18= ファイル    F20= 番号つけ直し    F24= キーの続き       
                                                                                
ここでは分類の優先順と昇順(A)か降順(D)かを指定します。指定を省略すると昇順になります。
上の例では、担当営業順、売上げ実績の多い順に指定しています。
実行キーを押すと分類の優先順に、ならべなおします。

  分類                                                                          
 PRTY A/D   フィールド      テキスト                                   LEN  DEC 
    1  A   TKSLNO           担当営業                                   4      
    2  D   TKURJS           売上実績                                    11    0 
           TKTKNO           得意先                                     5      
           TKNMKJ           得意先名                                    42   O  
           TKNMKN           得意先カナ名                                20      
           TKTEL            TEL                                      12      

さらに確認(画面変更をしないで実行キー)を押すと、QUERY定義の画面に戻ります。


照合順序の選択

省略します。


報告書の欄の形式指定

出力の編集を行う場合には、QUERY定義の選択で「報告書の欄の形式指定」を選択します。
つぎのような画面が表示されます。
ここでは、欄の間隔、欄見出し語句の修正、数値項目の編集指定などを行います。
例えば、日付をYY−MM−DDの形に編集するなどの場合は、F16キーを押し、拡張の
指定画面を開きます。

                              報告書の欄の形式指定                             
                                                                               
  情報を入力して,実行キーを押してください。                                   
    欄見出し: *NONE, または位置合せしたテキスト                               
                                                                               
                    欄の                                                       
  フィールド        間隔          欄見出し                    LEN  DEC    編集 
 TKSLNO               0          担当営業                    4              
                                                                               
                                                                               
                                                                               
 TKTKNO               2          得意先                      5              
                                                                               
                                                                               
                                                                               
 TKNMKJ               2          得意先名                     42    O         
                                                                               
                                                                               
                                                                               
                                                                               
                                                                      続く ... 
 F3= 終了    F5= 報告書    F10= プロセス/前画面    F12= 取消し                
 F13= レイアウト    F16= 編集    F18= ファイル    F23= 詳細注記                
                                                                               

指定を終わって実行キーを押すと、QUERY定義の画面に戻ります。


計算機能の選択

合計計算などを行う場合は、「計算機能の選択」を選択します。
次のような画面が表示されます。計算機能をオプションで指定します。
ここでは売り上げ実績の合計計算を選択しています。

                               計算機能の選択                                   
                                                                                
  オプションを入力して,実行キーを押してください。                              
   1= 合計   2= 平均   3= 最小   4= 最大   5= カウント                          
                                                                                
  ---オプション---   フィールド      テキスト                              LEN  DEC 
               TKSLNO           担当営業                              4      
               TKTKNO           得意先                                5      
               TKNMKJ           得意先名                               42    O 
               TKNMKN           得意先カナ名                           20      
               TKTEL            TEL                                 12      
 1             TKURJS           売上実績                               11    0 
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                         終り   
 F3= 終了    F5= 報告書    F10=プロセス /前画面    F11= 名前のみの表示            
 F12= 取消し    F13= レイアウト    F18= ファイル    F23= 詳細注記               

指定を終わって実行キーを押すと、QUERY定義の画面に戻ります。


制御レベルの定義

キーブレーク処理(グループ合計など)を行う場合、「制御レベルの定義」を選択します。
次のような画面が表示されます。制御レベルを1〜6で示します。

                                制御レベルの定義                                
                                                                                
  9個以内のフィールド名に制御レベル (1-6) を入れて,実行キーを押してください。 
  (各制御レベルに必要な数のフィールドを使用してください。)                    
                                                                                
  制御     分類                                                                 
  レベル    PRTY   フィールド      テキスト                              LEN  DEC 
   1        10  TKSLNO           担当営業                              4      
                TKTKNO           得意先                                5      
                TKNMKJ           得意先名                               42    O 
                TKNMKN           得意先カナ名                           20      
                TKTEL            TEL                                 12      
            20  TKURJS           売上実績                               11    0 
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                         終り   
 F3= 終了    F5= 報告書    F10=プロセス /前画面    F11= 名前のみの表示            
 F12= 取消し    F13= レイアウト    F18= ファイル    F23= 詳細注記               
                                                                                
上の例では、担当営業でキーブレーク処理を指定しています。
入力をして実行キーを押すと、ブレーク処理の指定画面が表示されます。

                         制御の切れ目における処理の指定                         
                                                                                
  制御レベル  . . . . . . . :   0                                               
                                                                                
  選択項目を入力して,実行キーを押してください。                                
  (制御レベルの値を挿入するには, テキスト に &フィールド を入力してください。)       
                                                                                
                                                                                
                                                                                
    計算機能の抑制  . . . . .   N           Y=YES, N=NO                         
                                                                                
    制御レベルのテキスト  . .    最終合計                                       
                                                                                
                                                                                
                                                                                
 レベル    フィールド                                                             
   1    TKSLNO                                                                  
                                                                                
                                                                                
                                                                                
                                                                                
 F3= 終了    F5= 報告書    F10=プロセス /前画面    F12= 取消し                    
 F13= レイアウト    F18= ファイル    F23= 詳細注記                              

制御レベル0は総合計です。
計算機能の抑制Nは「抑制をしない」すなわち、「計算をする」を意味します。
ついで、先に指定した制御レベル1での処理の指定画面が表示されます。

                         制御の切れ目における処理の指定                        
                                                                               
  制御レベル  . . . . . . . :   1                                              
                                                                               
  選択項目を入力して,実行キーを押してください。                               
  (制御レベルの値を挿入するには, テキスト に &フィールド を入力してください。)      
                                                                               
    新しいページへのスキップ    N           Y=YES, N=NO                        
                                                                               
    計算機能の抑制  . . . . .   N           Y=YES, N=NO                        
                                                                               
    制御レベルのテキスト  . .    担当計                                    
                                                                               
                                                                               
                                                                               
 レベル    フィールド                                                            
   1    TKSLNO                                                                 
                                                                               
                                                                               
                                                                               
                                                                               
 F3= 終了    F5= 報告書    F10=プロセス /前画面    F12= 取消し                   
 F13= レイアウト    F18= ファイル    F23= 詳細注記                             

制御レベルのテキストでは「担当計」を設定しています。
入力をして実行キーを押すと、QUERY定義の画面に戻ります。

制御レベルの指定をしての出力はつぎのようになります。
出力項目を以前の例から一部変更しています。





 00/09/05  16:47:36                得意先一覧表                 ページ     1 

  担当    得意先    得意先カナ            TEL                売上実績   

  1111     11114     シテンノウジショウテン-------;  03-1111-1144          44,014,000  
           11118     ヤツアタリショクヒンサンギョウ---;  03-1111-1188           3,318,000  

                                                   担当計                    
                                                   合計          47,332,000  

  1122     11111     イチバンボシショウジ======;  03-1111-1122          44,014,000  

                                                   担当計                    
                                                   合計          44,014,000  

  2222     11115     ゴモクチラシインサツカブ----;  03-1111-1155         550,015,000  
           11119     クソウバイヤクヒンハンバイ----;  03-1111-1199          44,019,000  
           11112     ニバンセンジコウギョウ-----;  03-1111-1111              11,000  

                                                   担当計                    
                                                   合計         594,045,000  

  3333     11113     サンバガラスコウギョウ-----;  03-1111-1133             212,000  
           11116     ロクジゾウノウキグハンバイ--;  03-1111-1166              16,000  

                                                   担当計                     
                                                   合計             228,000   

  4444     11117     シチフクジンプレス(ユウ)----;  03-1111-1177             217,000   

                                                   担当計                     
                                                   合計             217,000   

                                                   最終合計                   
                                                   合計         685,836,000   

 * * *  報 告 書 の 終 り   * * *                                        



既存のQUERYの実行

QUERYプログラムがすでにある場合、それを実行するにはユーティリティメニューの
「既存の QUERY プログラムの実行」(下記で番号2)を選択します。

 QUERY                      QUERY ユーティリティー                              
                                                          システム :   S1234567 
 次の中から1つを選んでください。                                               
                                                                                
   QUERY/400                                                                    
      1. QUERY の処理                                                           
      2. 既存の QUERY プログラムの実行                                          
      3. QUERY 定義の削除                                                       
                                                                                
   DB2/400                                                                      
     10. DB2/400 QUERY 管理機能の開始                                           
                                                                                
   QUERY 管理機能                                                               
     20. QUERY 管理機能書式の処理                                               
     21. QUERY 管理機能における QUERY の処理                                    
     22. QUERY の開始                                                           
     23. QUERY/400 定義の分析                                                   
                                                                       続く ... 
 選択項目またはコマンド                                                         
 ===> 2                                                                         
                                                                                
 F3= 終了   F4=プロンプト   F9=コマンド の複写   F12= 取消し   F13= 情報援助          
 F16=AS/400 メイン・メニュー                                                    

「既存の QUERY プログラムの実行」を選択して実行キーを押すと次のような画面が表示されます。

                               QUERY 実行  (RUNQRY)                             
                                                                                
  選択項目を入力して,実行キーを押してください。                                
                                                                                
  QUERY . . . . . . . . . . . . .   TEST          名前 , *NONE                 
    ライブラリー  . . . . . . . .     *LIBL         名前 , *LIBL, *CURLIB        
  QUERY ファイル :                                                              
    ファイル  . . . . . . . . . .                  名前 , *SAME                 
      ライブラリー  . . . . . . .     *LIBL        名前 , *RUNOPT, *LIBL...     
    メンバー  . . . . . . . . . .   *FIRST          名前 , *RUNOPT, *FIRST...    
                 値の続きは+                                                   
  報告書出力のタイプ  . . . . . .   *RUNOPT       *RUNOPT, *DISPLAY...          
  出力書式  . . . . . . . . . . .   *RUNOPT       *RUNOPT, *DETAIL, *SUMMARY    
  レコード選択  . . . . . . . . .   *NO           *NO, *YES                     
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                         終り   
 F3= 終了    F4=プロンプト   F5= 最新表示    F12= 取消し    F13= この画面の使用法  
 F24= キーの続き                                                                

注:この画面はコマンドを入力できる画面で、RUNQRYと入力してF4キーを押しても表示できます。

同じ様式のファイルであれば、(たとえば、受注の1月分、2月分のような)QUERY
定義したときとは別のファイルを指定しての実行もできます。

この既存のQUERYの実行は、コマンドラインから次のように入力するのと同じです。

RUNQRY  QRY(QTEMP/TEST)

ファイル指定をする場合は次のようになります。

RUNQRY  QRY(QTEMP/TEST)  QRYFILE((WRKLIB/M420))


CLプログラムへの組込み

既存のQUERYはRUNQRYコマンドで実行できるので、そのままメニュープログラムのような、CLプログラムに
組込むことができます。
CLプログラムの中では、ライブラリーやQUERY名、ファイル名を変数の形で指定することもできます。



前ページ 次ページ もどる 目次


(C)COPYRIGHT ISHIOKA KATSUHIDE , 2000