サッカー データベースの自動スコア アップデーターを作成しようとしています。クライアントから、試合日、ホーム チーム、ホーム スコア、訪問チーム、訪問スコアを含む CSV スプレッドシートがメールで送られてきます。問題は、以下に概説するように、別のチーム テーブル (team_id、team_name など) とゲーム テーブルがあることです。
チーム (team_id、team_name など)
game(game_id, game_home_team, game_home_score, game_visitor_team, game_visitor_score, game_date, game_complete)
サンプル ゲーム データ(1, 123, 0, 156, 0, 8-31-2012, No) -> ゲーム テーブルに名前の代わりにチームの ID を保存します。
スコアを自動的に更新するスクリプトを作成する必要があります。1 週間で約 327 のスコアが表示されます。
CSV は次のようになります (列見出し付き)。
game_date、home_team、home_score、visitor_team、visitor_score
(2012-8-31、フォレスト ヒルズ、44、ウェストモント ヒルトップ、0) -> サンプル データ
最初にチーム ID を取得し、ホーム ID とビジター ID をチーム名と照合し、一致する team_id に対応するゲーム ID を取得し、そのゲームのスコアを更新するにはどうすればよいですか? それはたくさんあり、私はこの問題でちょっと迷っています。これを行うための助けやより良い方法は大歓迎です。以下は私がこれまでに持っているものです:
UPDATE game SET
game_home_score = ?,
game_visitor_score = ?,
game_complete = 'Yes'
WHERE game_id =
SELECT game_id
FROM game
WHERE game_home_team IN (
SELECT team_id
FROM team
WHERE team_name = ?
) AND game_visitor_team IN (
SELECT team_id
FROM team
WHERE team_name = ?
);
クエリが間違っていることはわかっていますが、私が行く必要がある方向に関しては、それが私が考えていたことです。私のMySQLの知識は、これを機能させるのに十分ではありません(私はそうは思いません)。