回答編集履歴

1

追記

2017/12/21 19:11

投稿

hatena19
hatena19

スコア33715

test CHANGED
@@ -43,3 +43,35 @@
43
43
 
44
44
 
45
45
  おそらく実際はこのようなシンプルなものではなく、例外もあると思いますが、テーブル設計では、1アクション1レコード(今回だと1回の物の移動を1レコード)とするのが基本だ思います。
46
+
47
+
48
+
49
+ 追記
50
+
51
+ ---
52
+
53
+ とりあえず下記のようにサブクエリを使えば可能です。
54
+
55
+ ただ、件数が多いと重い処理になります。
56
+
57
+
58
+
59
+ ```SQL
60
+
61
+ SELECT
62
+
63
+ a.*,
64
+
65
+ a.あげる部署 AS 実績_貰った部署,
66
+
67
+ (SELECT TOP 1 b.貰った量
68
+
69
+ FROM Table1 b
70
+
71
+ WHERE b.種類1=a.種類1 AND b.種類2=a.種類2 AND b.部署=a.あげる部署 AND b.ナンバー>a.ナンバー
72
+
73
+ ORDER BY ナンバー) AS 実績_貰った量
74
+
75
+ FROM Table1 a;
76
+
77
+ ```