週末になると時間が取れなくなってしまうため、今しか時間が無いのです。
なのでどうしても記事のが被り気味になってしまいますね。

わざとじゃ無いですよ!

今週発売された「外厩ブラックボックス馬券」の3章。

(画像のサイズも控え目)

厩舎と「外厩」先のパターン別の解説があります。
偶然にも例題が本の内容になってしまったのは仕方無し。
たまには、普段の生活に役立つであろうSQL文について書くのも僕の仕事上の責務でもあるのです。

今回は、


1つのテーブル(或いはビュー、Accessであればクエリ)から、条件別にデータを取得して、且つ、1つのビューに表示したい。


というパターン。

データの取得元となるテーブルが1つあります。
そこから各種条件別に分類して、一覧で見るときに使う基本的な事を。
でも意外とこの書き方を使っていない人が多い気がします。
Select文に定数を埋め込む、というのがポイント。
でもって間にエクセルを挟むと楽出来ます。

この先は競馬はあまり関係ないので興味がある方は続きをどうぞ。

データを条件別に取得、定数を入れて、union allでくっつけるだけなのですけれども。

完成形の一部はこのように。
select '108' , * from t_gaikyu where chokyosiname ='加藤征弘  ' and houbokusaki ='ノーザンファーム天栄(旧天栄ホースパーク'union all
select '111', * from t_gaikyu where chokyosiname ='鹿戸雄一  ' and houbokusaki ='ノーザンファーム天栄(旧天栄ホースパーク'union all
select '115', * from t_gaikyu where chokyosiname ='古賀慎明  ' and houbokusaki ='ノーザンファーム天栄(旧天栄ホースパーク'union all
以下同じように続く・・・

取得先のテーブルは「t_gaikyu」。
安易なネーミングです。はい。

1行目から、
加藤征弘厩舎+ノーザンファーム天栄
鹿戸雄一厩舎+ノーザンファーム天栄
古賀慎明厩舎+ノーザンファーム天栄
という条件でデータを取得。

データ元が同じなので「*」で拾ってもunionで繋げてOK。

先頭の定数で埋め込んである数字は単行本ページ番号。
もしデータ元に先週の出走馬データが入っていれば、上記の条件に該当する物がページ番号付きで一覧に出力されます。

手打ちで入力しても良いのですが、それは流石にダルイです。
ちょっといびつな書式になっているように、これは半分自動で作成しているから。
それにはエクセルを使います。

t1

変化する項目だけは手動で。
ほぼコピペですが・・・。

そしてVBAでSQL文に変換。

そして出来た表がコレ。

ページR馬番馬名放牧先騎手厩舎馬主入日間隔人気
129東京1111クッカーニャノーザンファームしがらき北村宏西園正都㈲サンデーレーシング9/20111013
131東京914タップザットノーザンファームしがらき福 永池江泰寿P.G.ファッジ氏9/30611
131京都1110トーセンソレイユノーザンファームしがらき小牧太池江泰寿島川隆哉氏9/301333
131東京114ウリウリノーザンファームしがらき浜 中藤原英昭金子真人ホールディングス9/162168
134東京1213アールプロセス社台ファーム山元トレーニングセンター北村宏萩原清池谷誠一氏8/282112
144東京86エバーダンシング社台ファーム山元トレーニングセンター菱田裕加藤征弘宇田豊氏9/24121214
144東京67トーセンマイティ社台ファーム山元トレーニングセンター菱田裕加藤征弘島川隆哉氏9/271012
156福島71ノーブリー宇治田原優駿ステーブル津 村藤岡健一ニットー商事10/31066
161福島72ダイヤモンドハイ宇治田原優駿ステーブル武 幸本田優布施光章氏10/16112
161福島103マジカルビアンカ宇治田原優駿ステーブル小崎綾本田優村上憲政氏10/86128
161京都56ダンツアリーナ宇治田原優駿ステーブル太 宰本田優山元哲二氏9/10 1110
163京都53ロザムンデグリーンウッド・トレーニング甲南馬事公苑藤岡佑千田輝彦H.H.シェイク・モハメド氏9/3 97
163京都123ヴィクタシアグリーンウッド・トレーニング甲南馬事公苑藤岡佑千田輝彦前原敏行氏10/5462

ローテを全て含めているので、新馬等も入っていますが、まあ参考までに。