回答編集履歴

2

追加

2017/09/05 02:22

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -43,3 +43,27 @@
43
43
  WHERE t1.商品ID=t3.商品ID;
44
44
 
45
45
  ```
46
+
47
+
48
+
49
+ Oracle
50
+
51
+ ```sql
52
+
53
+ update 商品マスター t1
54
+
55
+ set KAKAKU = (
56
+
57
+ SELECT KAKAKU FROM 最新価格 t3 JOIN
58
+
59
+ (SELECT 商品ID, MAX(KAITEI_DATE) KAITEI_DATE FROM 最新価格 GROUP BY 商品ID ) t2
60
+
61
+ ON t2.商品ID=t3.商品ID and t2.KAITEI_DATE=t3.KAITEI_DATE and t3.商品ID = t1.商品ID)
62
+
63
+ where exists
64
+
65
+ (SELECT 1 FROM 最新価格 t4 Where t4.商品ID = t1.商品ID)
66
+
67
+ ;
68
+
69
+ ```

1

追加

2017/09/05 02:22

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -21,3 +21,25 @@
21
21
  ;
22
22
 
23
23
  ```
24
+
25
+
26
+
27
+
28
+
29
+ postgres
30
+
31
+ ```sql
32
+
33
+ UPDATE 商品マスター t1 SET KAKAKU=t3.KAKAKU
34
+
35
+ FROM (SELECT 商品ID, KAKAKU FROM 最新価格 JOIN
36
+
37
+ (SELECT 商品ID, MAX(KAITEI_DATE) KAITEI_DATE FROM 最新価格 GROUP BY 1) t2
38
+
39
+ USING (商品ID,KAITEI_DATE)
40
+
41
+ ) t3
42
+
43
+ WHERE t1.商品ID=t3.商品ID;
44
+
45
+ ```