回答編集履歴
5
訂正
answer
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
select b3.column1, coalesce(b4.column2, b5.column2) column2
|
13
13
|
from (
|
14
14
|
select b1.column1, max(b2.column1) as b2_column1
|
15
|
-
from before b1 left join
|
15
|
+
from before b1 left join before b2
|
16
16
|
on b1.column1 > b2.column
|
17
17
|
and b2.column2 is not null
|
18
18
|
group by b1.column1
|
4
訂正
answer
CHANGED
@@ -19,6 +19,6 @@
|
|
19
19
|
) b3
|
20
20
|
inner join before b4
|
21
21
|
on b3.column1 = b4.column1
|
22
|
-
left join
|
22
|
+
left join before b5
|
23
23
|
on b3.b2_column1 = b5.column1
|
24
24
|
```
|
3
訂正
answer
CHANGED
@@ -20,5 +20,5 @@
|
|
20
20
|
inner join before b4
|
21
21
|
on b3.column1 = b4.column1
|
22
22
|
left join befor b5
|
23
|
-
on
|
23
|
+
on b3.b2_column1 = b5.column1
|
24
24
|
```
|
2
訂正
answer
CHANGED
@@ -9,14 +9,16 @@
|
|
9
9
|
column1はユニークであることが前提です。
|
10
10
|
低速な場合はせめてcolumn1のインデックスを作成して下さい。
|
11
11
|
```SQL
|
12
|
-
select b3.column1, coalesce(
|
12
|
+
select b3.column1, coalesce(b4.column2, b5.column2) column2
|
13
|
-
from
|
13
|
+
from (
|
14
|
-
left join (
|
15
14
|
select b1.column1, max(b2.column1) as b2_column1
|
16
15
|
from before b1 left join befor b2
|
17
16
|
on b1.column1 > b2.column
|
18
17
|
and b2.column2 is not null
|
19
18
|
group by b1.column1
|
20
|
-
)
|
19
|
+
) b3
|
20
|
+
inner join before b4
|
21
21
|
on b3.column1 = b4.column1
|
22
|
+
left join befor b5
|
23
|
+
on b4.b2_column1 = b5.column1
|
22
24
|
```
|
1
追記
answer
CHANGED
@@ -1,4 +1,22 @@
|
|
1
1
|
並びを特定するものが無ければ無理です。
|
2
2
|
単に情報不足なら質問に追記して下さい。
|
3
3
|
|
4
|
-
並びを特定する項目が無いなら、そのテーブルにオートナンバーを付加したテーブルを準備して追加すると、上手く行けば見た目上の並びでオートナンバーが振られるかもしれません。
|
4
|
+
並びを特定する項目が無いなら、そのテーブルにオートナンバーを付加したテーブルを準備して追加すると、上手く行けば見た目上の並びでオートナンバーが振られるかもしれません。
|
5
|
+
|
6
|
+
追記
|
7
|
+
--
|
8
|
+
未検証です。
|
9
|
+
column1はユニークであることが前提です。
|
10
|
+
低速な場合はせめてcolumn1のインデックスを作成して下さい。
|
11
|
+
```SQL
|
12
|
+
select b3.column1, coalesce(b3.column2, b4.column2) column2
|
13
|
+
from befor b3
|
14
|
+
left join (
|
15
|
+
select b1.column1, max(b2.column1) as b2_column1
|
16
|
+
from before b1 left join befor b2
|
17
|
+
on b1.column1 > b2.column
|
18
|
+
and b2.column2 is not null
|
19
|
+
group by b1.column1
|
20
|
+
) b4
|
21
|
+
on b3.column1 = b4.column1
|
22
|
+
```
|