|
JRDBシステム班さんへ
>akiさんへ
>
>JRDBをご利用頂きありがとございます。
>
>分かり易く説明するために、JRDBのブログに書かせて頂きました。
>ご覧になって下さい。
>
>それでは今後ともJRDBをよろしくお願いします。
始めまして。検索で辿りつきました。
質問に便乗させてください。
実は似たような問題を抱えていて、DBから過去の戦歴を(例えば過去5走)とかどうやって抜き出すのかアタマを抱えております。
拡張
**************************
(SELECT COUNT (*)+1 FROM [D成績データ] AS T WHERE T.[レースキー]=[D成績データ].[レースキー] AND (T.[前3F]+T.[後3F])<([D成績データ].[前3F]+[D成績データ].[後3F]))<=5
**************************
これは内部結合で表記すると、
(SELECT
COUNT (*) + 1
FROM
[D成績データ] T
INNER JOIN [D成績データ] S
ON S.[レースキー] = T.[レースキー]
WHERE (T.[前3F]+T.[後3F]) < ([D成績データ].[前3F]+[D成績データ].[後3F])) <= 5
と同じ事ですよね。
同様のロジックを使えば、例えばJRA-VANが提供している馬毎レースデータの血統登録番号をキーとして、
(SELECT
COUNT (*) + 1
FROM
[馬毎レース情報] T
INNER JOIN [馬毎レース情報] S
ON S.[血統登録番号] = T.[血統登録番号]
WHERE T.[レースコード] < S.[レースコード]) <= 5
と記述するのが可能と思われます。思われますが・・・・・・。
問題はこれって副問い合わせですよね。そうすると、この外側に同じく馬毎レース情報があった場合、SとTは別々の認識で良いのですが、
少なくともSかTかのどちらかが、外側にある馬毎レース情報でなければなりません。つまり、参照の問題が生じるんですが、これを一体
どうやって解決すべきなのか、分からないのです。
是非ともご教授頂ければ、と思います。
|
|