SQL Server 2000 でのビューの使用
表1:
id z1 z2 z3 z4 type
--------------------------------------
01A 300 400 300 400 01
2B 300 400 300 500 02
3C 700 600 400 300 01
04A 500 400 800 900 01
05B 400 300 400 300 02
06 150 200 200 150 03
....
表 2:
type value1 value2
------------------------------------
01 0 300
01 301 500
02 0 200
02 201 400
03
.....
table2 範囲に基づいて table1 行を選択したい:
テーブル1の組み合わせ-max(Z1, Z2) and max(Z3, Z4)
Max(z1,z2) 範囲が table2 以下の場合 max(value2) ここで table1.type = table2.type Max(z1, z2) 範囲が table2 以下の場合 max(value2) ここで table1.type = table2.type
z1、Z2 の範囲が table2 以下の場合、z1、z2 の行を表示します。それ以外の場合は null z3、z4 の範囲が table2 以下の場合、z3、z4 の行を表示します。それ以外の場合は null
期待される出力
表1:
id z1 z2 z3 z4 type
--------------------------------------
01A 300 400 300 400 01 ' `Both (z1, z2), (z3, z4) rows are matching with table2 for type 01`
2B 300 400 null null 02 ' (z1, z2) are matching, (z3, z4) rows are not matching with table2 for type 02
3C null null 400 300 01 ' (z1, z2) rows are not matching, (z3, z4) rows are matching with table2 for type 01
04A 500 400 null null 01 ' (z1, z2) rows are matching, (z3, z4) rows are not matching with table2 for type 01
05B 400 300 400 300 02 ' Both (z1, z2), (z3, z4) rows are matching with table2 for type 02
....
現在、私はビューを使用しています。ほとんどのレポートがこのビューを使用しているため、ストアド プロシージャに変更したくありません。
SQLでそれを行う方法..?