回答編集履歴
3
推敲
answer
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
提示のSQLだと単に```ORDER BY '文字列'```にしかなりませんから、ソートは掛かりませんね。
|
2
|
+
|
1
3
|
以下ではどうですか。
|
2
4
|
```SQL
|
3
5
|
CURSOR C_CUSTOMER(sortKbn IN NVARCHAR2) IS
|
2
推敲
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
FROM A, B
|
6
6
|
WHERE A.KEY = B.KEY
|
7
7
|
ORDER BY B.SUB_KEY desc
|
8
|
-
, case when sortKbn!=20 then A.SUB_KEY end desc
|
8
|
+
, case when sortKbn!='20' then A.SUB_KEY end desc
|
9
9
|
```
|
10
10
|
追記
|
11
11
|
---
|
@@ -15,7 +15,7 @@
|
|
15
15
|
SELECT A.*
|
16
16
|
FROM A, B
|
17
17
|
WHERE A.KEY = B.KEY
|
18
|
-
ORDER BY case when sortKbn=20 then B.SUB_KEY end desc
|
18
|
+
ORDER BY case when sortKbn='20' then B.SUB_KEY end desc
|
19
|
-
, case when sortKbn!=20 then B.SUB_KEY end
|
19
|
+
, case when sortKbn!='20' then B.SUB_KEY end
|
20
|
-
, case when sortKbn!=20 then A.SUB_KEY end desc
|
20
|
+
, case when sortKbn!='20' then A.SUB_KEY end desc
|
21
21
|
```
|
1
追記
answer
CHANGED
@@ -6,4 +6,16 @@
|
|
6
6
|
WHERE A.KEY = B.KEY
|
7
7
|
ORDER BY B.SUB_KEY desc
|
8
8
|
, case when sortKbn!=20 then A.SUB_KEY end desc
|
9
|
+
```
|
10
|
+
追記
|
11
|
+
---
|
12
|
+
条件によって、B.SUB_KEYの昇順/降順が切り替わるのを見落としていました。
|
13
|
+
```SQL
|
14
|
+
CURSOR C_CUSTOMER(sortKbn IN NVARCHAR2) IS
|
15
|
+
SELECT A.*
|
16
|
+
FROM A, B
|
17
|
+
WHERE A.KEY = B.KEY
|
18
|
+
ORDER BY case when sortKbn=20 then B.SUB_KEY end desc
|
19
|
+
, case when sortKbn!=20 then B.SUB_KEY end
|
20
|
+
, case when sortKbn!=20 then A.SUB_KEY end desc
|
9
21
|
```
|