「food」と「whatToEat」の2つのテーブルを持つデータベースがあるとします。
「whatToEat」をクエリして、3つの行を見つけます。
id Food username
1 Apple John
2 Banana John
3 Milk Linda
「食べ物」の表からそれらを取得したい場合は、次のように実行できます。
SELECT *
FROM food
WHERE username='John' AND typeOfFood = 'apple'
OR typeOfFood = 'Banana' OR typeOfFood = 'Milk'
...しかし、これを動的に書き込むことは可能ですか。「whatToEat」テーブルは常に変更されるためです。または、ループが必要で、「whatToEat」内のオブジェクトごとに「food」テーブルを1つずつクエリする必要がありますか?
編集
上記は単なる例であり、実際のシナリオはオンラインゲームです。プレイヤーがゲームに参加するとき、彼は「matches_updated」テーブルに置かれます。このテーブルには、彼の名前と一致のID(または、同時に複数の場所にいる可能性があるため一致)が保持されます。プレーヤーが更新を受け取ったら、更新する必要のある一致があるかどうかを確認し( "matches_updated"テーブルをクエリ)、データを取得して、すべての情報が含まれる"matches"テーブルからプレーヤーに戻ります。試合について保存されます。
例:
プレーヤーのTimは、「mathces_updated」テーブルをクエリし、更新する必要のある2つの新しい一致があることを確認します。
match_id username
1 Tim
2 Tim
2 Lisa
1 John
3 John
...彼は、「一致」テーブルに格納されているこれらの一致に関する情報を取得したいと考えています。
match_id match_status player1Name Player1Score Player2Name Player2Score
1 1 John 123 Tim 12
2 1 Lisa 4 Tim 15
3 1 John 0 Lisa 0