1

メンバーIDを持つSQLテーブルがあります。

各メンバーは、表にリストされている保険金請求に関する情報を持っています。

1つの列には、に関連する保険IDが一覧表示されますMember-ID

例えば:-

|Member ID    | Insurance Code   |
----------------------------------
|C#$#@@!1231  | 67               |

現在、問題は、同じメンバーが以前の請求の一部として異なる保険コード番号を持っている可能性があることです。

たとえば、2010年から2011年の間に、メンバーのクレームコードは67でしたが、2011年から2012年の場合、メンバーのクレームコードは3でした。

SQLクエリを作成すると、クレームコードの値は1つしか取得できません。たとえば、67、3、110などのすべての値を取得するにはどうすればよいですか。メンバーが参加しているすべての主張に対応できるように。

// SQL QUERY to gather member information.
DMS.ADOQuery1.SQL.Clear;
DMS.ADOQuery1.SQL.Add('select HPFROMDT, HPthruDt, MEMBERKEY, MEMBHPKEY, OPFROMDT, OPTHRUDT, HPCODEKEY' +
                      ' from MEMBHP' +
                      ' where MEMBERKEY = ''' + MembKey + '''  and OPTHRUDT >= ''' + init_date + ''' and OPFROMDT <= ''' + final_date +''' and OPFROMDT < OPTHRUDT'
                     );

//  Showmessage(DMS.ADOQuery1.SQL[0]);

DMS.ADOQuery1.Open;

// Adding the query values to the appropriate variables.
HPCodeKey := (DMS.ADOQuery1.FieldByNAme('HPCODEKEY').AsString);

DMS.ADOQuery1.Close;
4

1 に答える 1

1

最初のレコードだけでなく、クエリによって返されたすべてのレコードを確認します。SQLステートメント(where条件)のフィルター日付も確認してください。

// SQL QUERY to gather member information.
DMS.ADOQuery1.SQL.Clear;
DMS.ADOQuery1.SQL.Add('select HPFROMDT, HPthruDt, MEMBERKEY, MEMBHPKEY, OPFROMDT,      OPTHRUDT, HPCODEKEY' +
                  ' from MEMBHP' +
                  ' where MEMBERKEY = ''' + MembKey + '''  and OPTHRUDT >= ''' +   init_date + ''' and OPFROMDT <= ''' + final_date +''' and OPFROMDT < OPTHRUDT'
                 );

//  Showmessage(DMS.ADOQuery1.SQL[0]);

DMS.ADOQuery1.Open;

while not DMS.ADOQuery1.Eof do
begin
  // Adding the query values to the appropriate variables.
  Showmessage(DMS.ADOQuery1.FieldByNAme('HPCODEKEY').AsString);
  DMS.ADOQuery1.Next;
end;
DMS.ADOQuery1.Close;
于 2012-11-08T18:50:37.163 に答える