2019-02-03に更新

2/3進捗

日付一覧実装

image
とりあえずreact-bootstrapのListGroup.itemを使って日付の一覧を入れ子で実装。アコーディオン化したいが時間ないので仮置き。
UIは練らないといけないが日付→日付別試合一覧への導線は完成。

日別試合一覧ページ実装

image
1日に3-5イニングの試合を3-5試合行うので日別の試合結果一覧ページを実装。投手成績とHRの本数を取得する処理が割と面倒で、試合直前までの成績を取得した後にその試合での成績を合算する処理をしないといけない。HR本数の取得処理は旧システムでも行っていたのでSQLをそのまま移植できると思っていたが、
その日までに成績がなく、その日の一番最初の試合に1号HRを打つとSQLで取得できないバグがあることに気づいた。

修正後のSQL

select 
    h.player_id,
    name,
    homerun,
    before_homerun_count
from 
    (SELECT
        b.player_id,
        name,
        homerun
    FROM batting_sum b
    inner join player p on p.id = b.player_id
    WHERE b.game_id= ? and b.homerun>=1
    group by player_id) h
left outer join (
    select
        b.player_id,
        sum(homerun) as before_homerun_count
    from batting_sum b
    inner join game g on g.game_id=b.game_id
    where
    ((game_date>= ? and game_date< ?)
    or (game_date= ? and game_number<= ? ))
    group by player_id) sum_homerun
on h.player_id = sum_homerun.player_id

あとはSQLの引数を渡す順番を間違えていて2時間ぐらい結果が取得できなくて嵌ってしまった。。


ckoshien

個人開発5年目。普段はフロントエンドエンジニア。 ReactJS/NextJS/NodeJS/ReactNative/Java

所有者限定モードのためこのボードには投稿できません
コメント