質問編集履歴

2

s

2022/07/01 07:36

投稿

muteki_gamer
muteki_gamer

スコア157

test CHANGED
File without changes
test CHANGED
@@ -38,8 +38,7 @@
38
38
  アプリケーション側でそれぞれSQLを打って結合する方法はありますが、SQL1回で綺麗に行える方法があればご教授願いたいです。
39
39
 
40
40
  # 追記
41
- 検証中はMysql8で行っていたので、ベストアンサーのもので問題なく動きましたが、本番環境がMysql5.7でWindow関数(ROW_NUMBER)が
41
+ 検証中はMysql8で行っていたので、ベストアンサーのもので問題なく動きましたが、本番環境がMysql5.7でWindow関数(ROW_NUMBER)が動かなかったため、もう片方の回答で行いました。
42
- 動かなかったため、もう片方の回答で行いました。
43
42
 
44
43
  結論のコード残しときます。
45
44
  ```

1

結果追加

2022/07/01 07:36

投稿

muteki_gamer
muteki_gamer

スコア157

test CHANGED
File without changes
test CHANGED
@@ -37,4 +37,18 @@
37
37
  UNION後にUNION前のorderが保証されないようでして、順番が結局ぐちゃぐちゃにいなってしまうことがあります。
38
38
  アプリケーション側でそれぞれSQLを打って結合する方法はありますが、SQL1回で綺麗に行える方法があればご教授願いたいです。
39
39
 
40
+ # 追記
41
+ 検証中はMysql8で行っていたので、ベストアンサーのもので問題なく動きましたが、本番環境がMysql5.7でWindow関数(ROW_NUMBER)が
42
+ 動かなかったため、もう片方の回答で行いました。
40
43
 
44
+ 結論のコード残しときます。
45
+ ```
46
+ SELECT *,
47
+ CASE WHEN code REGEXP '^[0-9]'
48
+ THEN cast(code AS UNSIGNED)
49
+ ELSE 9999
50
+ END reg
51
+ FROM table
52
+ ORDER BY reg, code"
53
+ ```
54
+