回答編集履歴

2

追記

2019/01/16 02:44

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -35,3 +35,43 @@
35
35
  ```
36
36
 
37
37
  ※with式はテーブルの代わり
38
+
39
+
40
+
41
+ 追記
42
+
43
+ --
44
+
45
+ もったいないので、yambejpさんのも
46
+
47
+ ```SQL
48
+
49
+ with 入荷履歴 as(
50
+
51
+ select '2019-04-01' as 入荷日 ,'りんご' as 商品名,'100' as 価格,'千葉' as 産地 from dual
52
+
53
+ union all select '2019-05-01','りんご','80','千葉' from dual
54
+
55
+ union all select '2019-06-01','りんご','120','山梨' from dual
56
+
57
+ union all select '2019-04-01','ばなな','100','エクアドル' from dual
58
+
59
+ union all select '2019-05-01','ばなな','200','沖縄' from dual
60
+
61
+ union all select '2019-04-01','メロン','600','北海道' from dual
62
+
63
+ )
64
+
65
+ select * from 入荷履歴
66
+
67
+ where (入荷日,商品名) in (
68
+
69
+ select min(入荷日),商品名 from 入荷履歴 where 入荷日>='2019-04-10' group by 商品名
70
+
71
+ union
72
+
73
+ select max(入荷日),商品名 from 入荷履歴 group by 商品名 having max(入荷日)<'2019-04-10'
74
+
75
+ )
76
+
77
+ ```

1

推敲

2019/01/16 02:44

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -1,4 +1,4 @@
1
- サブクエリーで未来と過去それぞれを抽出し、coalesceで優先判断
1
+ **相関サブクエリー**で未来と過去それぞれを抽出し、**coalesce**で優先判断
2
2
 
3
3
  ```SQL
4
4