掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
表の最大値をいくつも取得するには (ID:11681)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
処理の流れを理解できるように、クエリを2回投げるのはダメですか? Table1表のフィールドをCOL1, COL2として(型は適当に) var maxValue: integer; SL : TStringList; //COL2の最大値を取得 Query1.SQL.Clear; Query1.SQL.Add('select max(COL2) as MaxCol2 from table1;'); Query1.Open; maxValue := Query1.FieldByName('MaxCol2').AsInteger; Query1.Close; //COL2の最大値を条件に取得 Query1.SQL.Clear; Query1.SQL.Add('select COL1 from table1 where COL2=' + IntToStr(maxValue) + ';'); Query1.Open; SL := TStringList.Create; try while not Query1.eof do begin SL.Add(Query1.FieldByName('COL1').AsString + #09 + IntToStr(maxValue)); Query1.Next; end; //SL変数を適当に処理するコード finally SL.Free; end; Query1.Close; または、サブクエリを使用するのは? select COL1, COL2 from table1 where COL2 = (select max(COL2) FROM table1); ※タイプミスがある場合は適宜修正してください。m(__)m
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.