回答編集履歴

1

コード追加

2020/01/21 01:37

投稿

hatena19
hatena19

スコア33715

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  TableA.rev2,
22
22
 
23
- Max(TableA.rev3) AS rev3の最大
23
+ Max(TableA.rev3) AS MAXrev3
24
24
 
25
25
  FROM
26
26
 
@@ -30,7 +30,7 @@
30
30
 
31
31
  rev,
32
32
 
33
- Max(rev2) AS MaxRev2
33
+ Max(rev2) AS MAXrev2
34
34
 
35
35
  FROM
36
36
 
@@ -42,7 +42,7 @@
42
42
 
43
43
  ) Q1
44
44
 
45
- INNER JOIN TableA ON (Q1.MaxRev2 = TableA.rev2)
45
+ INNER JOIN TableA ON (Q1.MAXrev2 = TableA.rev2)
46
46
 
47
47
  AND (Q1.rev = TableA.rev)
48
48
 
@@ -52,10 +52,40 @@
52
52
 
53
53
  TableA.rev2
54
54
 
55
- ) Q2 ON TableA.rev3 = Q2.rev3の最大
55
+ ) Q2 ON TableA.rev3 = Q2.MAXrev3
56
56
 
57
57
  AND TableA.rev2 = Q2.rev2
58
58
 
59
59
  AND TableA.rev = Q2.rev;
60
60
 
61
61
  ```
62
+
63
+
64
+
65
+ あるいは、
66
+
67
+
68
+
69
+ ```sql
70
+
71
+ SELECT
72
+
73
+ T1.*
74
+
75
+ FROM
76
+
77
+ TableA T1
78
+
79
+ WHERE
80
+
81
+ T1.id=
82
+
83
+ (SELECT TOP 1 id
84
+
85
+ FROM TableA
86
+
87
+ WHERE rev=T1.rev
88
+
89
+ ORDER BY rev2 DESC, rev3 DESC);
90
+
91
+ ```