5005.モーター戦歴検索 - takobouzu/BOAT_RACE_DB GitHub Wiki
モーター戦歴検索
ボートレース多摩川のエースモーター64号機の戦歴を検索する際に作成したSQLである。
パラメータテーブルに場コードとモーター番号を設定することで、モーターの過去50走分の戦歴が出力される。
INSERT INTO _Parameters(Name,TextValue) VALUES ('pool_code','05');
INSERT INTO _Parameters(Name,TextValue) VALUES ('motor_no','64')
注意事項
新モーターの交換時期は考慮していない。
ボートレース場毎に年1回モーターおよびボートの交換を実施している。過去50走分の戦歴には交換前のモーターの戦歴が含まれることもある。新モーターの交換時期を考慮して検索するにはSQLのみでは実現できないので、スクリプトで対応する必要がある。
検索SQL
/*
【ファイル】 モーター戦歴.sql
【機能仕様】 過去50走のモーター戦歴を出力する(モーター交換時期は考慮していない)
【パラメタ】 pool_code(TextValue ): 場コード
motor_no(TextValue ): モーター番号
*/
/* 検索パラメタテーブル _Parametersの生成 */
DROP TABLE IF EXISTS _Parameters;
CREATE TEMP TABLE _Parameters(Name TEXT PRIMARY KEY, RealValue REAL, IntegerValue INTEGER, BlobValue BLOB, TextValue TEXT) ;
/* 検索パタメータの登録 */
INSERT INTO _Parameters(Name,TextValue) VALUES ('pool_code','05');
INSERT INTO _Parameters(Name,TextValue) VALUES ('motor_no','64');
/* SQL実行 */
SELECT
t_race_t.yyyymmdd,
t_race_t.pool_name,
t_race_t.grade,
t_race_t.title,
t_race_t.event_date,
t_race_h.race_no,
t_race_h.race_name,
t_race_d.player_no,
t_race_d.player_name,
t_race_d.area,
t_race_d.class,
t_race_d.motor_no,
t_race_d.entry_no,
t_result_d.course,
t_result_d.start_time,
t_result_d.flying,
t_result_d.ranking,
t_result_d.decisive_facto
FROM
t_race_t,t_race_h,t_race_d,t_result_d
WHERE
t_race_t.pool_code = (SELECT TextValue FROM _Parameters WHERE Name = 'pool_code') AND
t_race_d.motor_no = (SELECT TextValue FROM _Parameters WHERE Name = 'motor_no') AND
t_race_t.yyyymmdd = t_race_h.yyyymmdd AND
t_race_t.pool_code = t_race_h.pool_code AND
t_race_h.yyyymmdd = t_race_d.yyyymmdd AND
t_race_h.pool_code = t_race_d.pool_code AND
t_race_h.race_no = t_race_d.race_no AND
t_race_d.yyyymmdd = t_result_d.yyyymmdd AND
t_race_d.pool_code = t_result_d.pool_code AND
t_race_d.race_no = t_result_d.race_no AND
t_race_d.entry_no = t_result_d.entry_no
ORDER BY t_race_d.yyyymmdd DESC, t_race_d.race_no DESC
LIMIT 50
検索結果
yyyymmdd pool_name grade title event_date race_no race_name player_no player_name area class motor_no entry_no course start_time flying ranking decisive_facto
20210124 多摩川 一般 第27回神奈川新聞社賞 最終日 08 一般 4918 川島拓郎 静岡 B1 64 1 1 0.21 3
20210123 多摩川 一般 第27回神奈川新聞社賞 5日目 08 一般 4918 川島拓郎 静岡 B1 64 3 3 0.05 3
20210123 多摩川 一般 第27回神奈川新聞社賞 5日目 01 まつりだone 4918 川島拓郎 静岡 B1 64 2 2 0.1 2
20210122 多摩川 一般 第27回神奈川新聞社賞 4日目 10 予選特賞 4918 川島拓郎 静岡 B1 64 3 3 0.1 2
20210122 多摩川 一般 第27回神奈川新聞社賞 4日目 03 予選 4918 川島拓郎 静岡 B1 64 6 6 0.13 3
20210121 多摩川 一般 第27回神奈川新聞社賞 3日目 08 予選特賞 4918 川島拓郎 静岡 B1 64 2 2 0.14 5
20210120 多摩川 一般 第27回神奈川新聞社賞 2日目 11 予選特選 4918 川島拓郎 静岡 B1 64 4 5 0.05 4
20210120 多摩川 一般 第27回神奈川新聞社賞 2日目 05 予選 4918 川島拓郎 静岡 B1 64 1 1 0.43 4
20210119 多摩川 一般 第27回神奈川新聞社賞 初日 11 予選特選 4918 川島拓郎 静岡 B1 64 5 6 0.13 6