回答編集履歴
1
追記
answer
CHANGED
@@ -17,4 +17,18 @@
|
|
17
17
|
)
|
18
18
|
) A on B.クラスID=A.クラスID and B.生徒連番=A.生徒連番
|
19
19
|
```
|
20
|
-
全外部結合で取り出せば、削除も判断できます。(不要なら、left joinに変更して下さい)
|
20
|
+
全外部結合で取り出せば、削除も判断できます。(不要なら、left joinに変更して下さい)
|
21
|
+
|
22
|
+
性能を考慮した別パターン
|
23
|
+
```SQL
|
24
|
+
SELECT
|
25
|
+
A.クラスID, A.クラス履歴連番, A.生徒連番, A.生徒名
|
26
|
+
, B.クラスID, B.生徒連番, B.生徒名
|
27
|
+
FROM
|
28
|
+
現クラステーブル B full join (
|
29
|
+
select * from 旧クラステーブル a0
|
30
|
+
where (クラスID, 旧クラス履歴番号) in (
|
31
|
+
select クラスID, max(旧クラス履歴番号) from 旧クラステーブル group by クラスID
|
32
|
+
)
|
33
|
+
) A on B.クラスID=A.クラスID and B.生徒連番=A.生徒連番
|
34
|
+
```
|