私は、目標を達成するためにSQLクエリにロジックを適用する方法を探していました。私はこの時点でどんな提案にもオープンです。
2つのテーブルがあり、それらの間に内部結合があります。2つの表は、すべてのMLB野球選手(過去と現在)の完全なリストであり、すべての殿堂入り選手の表です。行ごとに1人の一意のプレーヤーのクエリ結果を考え出し、殿堂入りしている場合は列にYまたはNを入力することを検討しています。
表1-プレーヤー
ID
HallofFameID
NameFirst
NameLast
表2-HallOfFame
HallofFameID
YearID
Votes
Inducted
各プレイヤーはプレイヤーテーブルに1つのエントリを持っていますが、殿堂入りテーブルにプレイヤーIDを複数回入力することができます。内部結合を使用した結果のクエリでは、次のような行が表示されます...
Player ID | NameFirst | NameLast | YearID | Votes | Inducted
001........| Don.........| Sutton......| 1992.....| 100.....| N
001........| Don.........| Sutton......| 1993.....| 89......| N
001........| Don.........| Sutton......| 1994.....| 100.....| N
001........| Don.........| Sutton......| 1998.....| 341.....| Y
002........| Mickey......| Mantle......| 1974.....| 341.....| Y So forth...
結果のクエリで、ドンサットンが選出されなかった1992年から1997年までの行を表示せず、1998年を表示してから、Yを付けてミッキーマントルの行に移動したいと思います。選出されました。同じクエリ結果に表示する必要があるホール資格の複数年の名前の横にNが付いています。
参照用に作業用SQLを含めました。私は自分のSQLを書く人を探しているのではなく、キーワードや欠落している可能性のあるロジックを使って正しい方向に向けてくれます。前もって感謝します
Select DISTINCT
Master.namefirst,
Master.nameLast,
Master.HofID,
HallOfFame.inducted,
HallOfFame.yearid
FROM
HallOfFame
INNER JOIN
Master On HallOfFame.hofID = Master.hofID
Group by
Master.nameFirst,
Master.nameLast,
Master.PlayerID,
Master.hofID,
HallOfFame.inducted,
HallOfFame.yearid*