0

テーブル X_PROGRAM_LOCATION には複数のレコードがあります。これらのテーブルには、x_program、location_Id、version が含まれています。複数の x_program があり、X_program の同じ名前の下に、異なる location_id とさまざまなバージョンがあります。すべての x_program の上位バージョンでは使用できないが、x_program の下位バージョンにはある location_id を整理できるクエリを作成したいと考えています。

注: - 上位バージョンに追加できるように、下位バージョンの location_Id のすべてのリストが必要です。

4

1 に答える 1

0

各プログラム/場所の組み合わせの最大バージョンを確認するだけで、目的に十分な場合があります。

select x_program, location_id, max(version)
from x_program_location pl
group by x_program, location_id

最大バージョンを計算し、having 句を使用することで、最新バージョンにないものを取得できます。

select x_program, location_id, max(version)
from x_program_location pl join
     (select x_program, max(version) as maxv
      from x_program_location
       group by x_program
     ) xp
     on pl.x_program = xp.x_program
group by x_program, location_id
having max(version) < max(maxv)
于 2013-06-21T11:31:59.547 に答える