0

私が持っているとしましょう

テーブルA

(A_pkey,B_pkey,A_type,A_value) 

そしてテーブルB

(B_pkey, B_minValueForTypeX,B_maxValueTypeX,B_minValueForTypeY,B_maxValuForeTypeY,B_minValueForTypeZ,B_maxValueForTypeZ)

次の値で:

1,1,'X',100

2,1,'X',1000

3,1,'X',300

4,1,'Y',500

5,1,'Y',200

6,1,'Z',300

7,2,'X',100

8,2,'X',200

9,2,'X',300

10,2,'Y',100

11,2,'Y',2000

B

1,NULL,NULL,NULL,NULL,NULL,NULL

2,NULL,NULL,NULL,NULL,NULL,NULL

単一のクエリで B を更新して、

B_minValueForTypeX= min(A_value) from A where A_type='X' (with A.B_pkey=B.B_pkey)
B_maxValueForTypeX= max(A_value) from A where A_type='X' (with A.B_pkey=B.B_pkey)
B_minValueForTypeY= min(A_value) from A where A_type='Y' (with A.B_pkey=B.B_pkey)

等々...

テーブルBがそのようになるように

1,100,1000,200,500,300,300

2,100,300,100,2000,0,0

私はそれができると確信していますが、方法がわかりませんでした。

誰かがこれについて私を助けることができますか?

助けてくれてありがとう

4

1 に答える 1