ダーツのスコアを維持するためのアプリケーションをプログラミングしています。私は次のようにリレーショナルデータベースを作成しました:
GameInformation gameId | numberOfPlayer | totalInnings | gameType
0 | 2 | 13 | 0
1 | 2 | 14 | 0
2 | 2 | 20 | 0
3 | 3 | 16 | 0
PlayersByGame gameId | playerId | イニング| mpr
0 | 0 | 13 | 1.538
0 | 1 | 13 | 1.651
1 | 0 | 14 | 1.500
1 | 1 | 14 | 2.012
2 | 0 | 20 | 1.658
2 | 2 | 20 | 2.123
3 | 2 | 16 | 2.001
3 | 1 | 16 | 1.325
3 | 0 | 16 | 1.001
プレイヤー
名| Id
Dainon | 0
アンディ| 1
キース| 2
私は単純なSQLクエリに精通していますが、2人以上のプレーヤーがいて、DainonとAndyだけがプレイしたゲームなしで、プレーヤー(Andy)と対戦したプレーヤー(Dainon)がプレイしたゲームの数を取得する方法がわかりません。互いに対して。クエリの時点で、私はダイノンとアンディの両方のプレーヤーIDを持っています。
誰かがそれを行うためにSELECTステートメントをどのように書くかについての洞察を提供できますか?
次のような間違ったクエリから始めました。
SELECT * FROM PlayersByGame WHERE playerId LIKE 0 and playerId LIKE 1;
SELECT gameId, numberOfPlayers, totalInnings, gameType
FROM GameInformation
WHERE (numberOfPlayers = 2)
UNION
SELECT gameId, playerId, innings, mpr
FROM PlayersByGame
WHERE (playerId = 0)
UNION
SELECT gameId, playerId, innings, mpr
FROM PlayersByGame AS PlayersByGame_1
WHERE (playerId = 1)
ありがとう、私はあなたの援助に感謝します!