これまでのところ、ここでクエリを作成しました。
SELECT POLICYNUMBER, FPLAN, FEFFYY, FEFFMM, FEFFDD, FINSTP, CLIENTNUM, FIRSTNAME,
MIDNAME, LASTNAME, BIRTHDATE FROM PFCASBENE
INNER JOIN CMRELATN ON POLICYNUMBER = KEYFIELD1
INNER JOIN CMPERSON ON CLIENTNUM = CLIENTID
WHERE FPSFLG='I' OR FPSFLG='P' ORDER BY CLIENTNUM ASC
FINSTP フィールドには、保険タイプ コードの 1 文字があります。
編集: POLICYNUMBER、FPLAN、FEFFYY、FEFFMM、FEFFDD、FINSTP は PFCASBENE のフィールドです。CLIENTNUM は CMRELATN のフィールドであり、FIRSTNAME、MIDNAME、LASTNAME、BIRTHDATE は CMPERSON からのものです。私は前にそれを言うべきだった。
クライアントが FINSTP='F' のポリシーのみを持っている場合に結果を返したい。FINSTP = 'X'、'V' などの他のポリシーがある場合、結果にクライアント レコードを含めたくありません。
クライアントは複数のポリシーを持つことができるため、このクエリは複数の行を返します。FINSTP='F' を WHERE 句に入れると結果が得られますが、それは私が望むものではありません。これは、「F」であるすべてを返します。このクエリを必要に応じて調整するために、where 句に他に何を追加する必要があるのか わかりません。
これは、AS/400 システム上の DB2 用です。
どんな助けでも大歓迎です!
- ジョシュ