質問編集履歴
2
追記依頼対応
title
CHANGED
File without changes
|
body
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
「FROM NO1」や「FROM NO2」は相関クエリのためかうまくいきませんでした。
|
21
21
|
一時テーブルにJOIN後のテーブルを格納する方法も試してみましたが、処理速度が遅くダメでした。
|
22
22
|
|
23
|
-
###追記
|
23
|
+
###追記 No1
|
24
24
|
>SQL文少し書き間違ってますね(メインのテーブルB⇒テーブルA)
|
25
25
|
仰る通りです。書き写しにミスがありましたので、修正しました。
|
26
26
|
|
@@ -36,4 +36,14 @@
|
|
36
36
|
```
|
37
37
|
情報は絞っていますがおおよそ上記のような感じで、UKは複合UKです。
|
38
38
|
JOINの条件としてテーブルBのUKを使い、最終条件で特定のユーザーIDのランキングを取得する想定です。
|
39
|
-
よろしくお願い致します。
|
39
|
+
よろしくお願い致します。
|
40
|
+
|
41
|
+
###追記No2
|
42
|
+
>丸投げの割に提示する情報が少ないですね。追記されたサンプルではどういったデータ群からどういった結果を導きたいのか類推できません。
|
43
|
+
失礼しました。まだまだSQLは勉強不足で、どういう情報が必要なのかわかっていないのです。。もう少し情報を追記してみます。
|
44
|
+
テーブルA:ユーザー毎のスコアを管理
|
45
|
+
テーブルB:ゲームの種別マスタ(じゃんけん、クイズ、など)
|
46
|
+
じゃんけんやクイズに関するスコアがテーブルAで管理されており、ランキングを取得する際は
|
47
|
+
・ユーザーID
|
48
|
+
・ゲーム種別
|
49
|
+
を指定することで、そのゲーム種別のスコアからランキングを取得したく思っております。
|
1
情報追加依頼対応
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,11 +11,29 @@
|
|
11
11
|
SELECT (
|
12
12
|
SELECT count(*)+1 FROM テーブルA AS NO1 INNER JOIN テーブルB ON テーブルA.種別 = テーブルB.ID AND 条件
|
13
13
|
WHERE スコア > NO2.スコア) AS rank
|
14
|
-
FROM テーブル
|
14
|
+
FROM テーブルA AS NO2
|
15
15
|
INNER JOIN テーブルB ON テーブルA.種別 = テーブルB.ID AND 条件
|
16
16
|
WHERE 最終条件
|
17
17
|
```
|
18
18
|
|
19
19
|
###試したこと
|
20
20
|
「FROM NO1」や「FROM NO2」は相関クエリのためかうまくいきませんでした。
|
21
|
-
一時テーブルにJOIN後のテーブルを格納する方法も試してみましたが、処理速度が遅くダメでした。
|
21
|
+
一時テーブルにJOIN後のテーブルを格納する方法も試してみましたが、処理速度が遅くダメでした。
|
22
|
+
|
23
|
+
###追記
|
24
|
+
>SQL文少し書き間違ってますね(メインのテーブルB⇒テーブルA)
|
25
|
+
仰る通りです。書き写しにミスがありましたので、修正しました。
|
26
|
+
|
27
|
+
またテーブルのサンプルを連携します。
|
28
|
+
```
|
29
|
+
テーブルA
|
30
|
+
ID ユーザーID 種別ID スコア
|
31
|
+
PK UK UK idx
|
32
|
+
|
33
|
+
テーブルB
|
34
|
+
ID 種類ID 外部連携用ID
|
35
|
+
PK UK UK
|
36
|
+
```
|
37
|
+
情報は絞っていますがおおよそ上記のような感じで、UKは複合UKです。
|
38
|
+
JOINの条件としてテーブルBのUKを使い、最終条件で特定のユーザーIDのランキングを取得する想定です。
|
39
|
+
よろしくお願い致します。
|