5005.モーター戦歴検索 - takobouzu/BOAT_RACE_DB GitHub Wiki

Home > 5000.検索用SQL

モーター戦歴検索

ボートレース多摩川のエースモーター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	

Home > 5000.検索用SQL