回答編集履歴
2
そのままにする部分が抜けていたので追加
answer
CHANGED
@@ -41,10 +41,17 @@
|
|
41
41
|
, A.userID
|
42
42
|
) T2
|
43
43
|
SET
|
44
|
+
T1.ID = MID(T1.ID, 1, 1)
|
44
|
-
|
45
|
+
+ MID('abcdefghijklmnopqrstuvwxyz', T2.cnt, 1)
|
46
|
+
+ MID(T1.ID, 3, 1)
|
45
47
|
WHERE T1.ID = T2.ID
|
46
48
|
AND T1.userID = T2.userID
|
47
49
|
|
48
50
|
```
|
49
51
|
|
50
|
-
UPDATEのFROM副問い合わせはすっかりSQLServerのノリで書いてましたf(^-^;
|
52
|
+
UPDATEのFROM副問い合わせはすっかりSQLServerのノリで書いてましたf(^-^;
|
53
|
+
|
54
|
+
---
|
55
|
+
|
56
|
+
追記
|
57
|
+
そのまま残すべきところを忘れていたので追加しました
|
1
指摘を受けて修正
answer
CHANGED
@@ -16,4 +16,35 @@
|
|
16
16
|
WHERE sampleTable.ID = C.ID
|
17
17
|
AND sampleTable.userID = C.userID
|
18
18
|
|
19
|
-
```
|
19
|
+
```
|
20
|
+
|
21
|
+
|
22
|
+
---
|
23
|
+
|
24
|
+
KotoriMaturiさんの指摘を受けて修正しました
|
25
|
+
(GROUP BYもぬけてましたし)
|
26
|
+
|
27
|
+
```SQL
|
28
|
+
UPDATE
|
29
|
+
sampleTable T1
|
30
|
+
, (
|
31
|
+
SELECT
|
32
|
+
A.ID
|
33
|
+
, A.userID
|
34
|
+
, count(*) + 1 AS cnt
|
35
|
+
FROM sampleTable A
|
36
|
+
JOIN sampleTable B
|
37
|
+
ON A.ID = B.ID
|
38
|
+
AND A.userID > B.userID
|
39
|
+
GROUP BY
|
40
|
+
A.ID
|
41
|
+
, A.userID
|
42
|
+
) T2
|
43
|
+
SET
|
44
|
+
T1.ID = MID('abcdefghijklmnopqrstuvwxyz', T2.cnt, 1)
|
45
|
+
WHERE T1.ID = T2.ID
|
46
|
+
AND T1.userID = T2.userID
|
47
|
+
|
48
|
+
```
|
49
|
+
|
50
|
+
UPDATEのFROM副問い合わせはすっかりSQLServerのノリで書いてましたf(^-^;
|