0

Ms Access で、次のような質問に答える SQL クエリを作成しようとしています。チームの少なくとも 1 人のメンバーが負傷しているサッカー選手のリストにあるすべてのチームのすべてのプレーヤー ID を返します。

私はSQLが初めてです。私は次のようなものを試しました

SELECT pid FROM players WHERE team_id IN 
           (SELECT team_id FROM players WHERE injury = 'yes') 

Access はこの IN を受け入れません。これを行う簡単な方法はありますか?個別のクエリを作成するのではなく、このように 1 つのクエリとして実行したいので、必要に応じて簡単に変更できます。

4

1 に答える 1

1

それがサポートしていないとは信じがたいINですが、それでも結合を使用してそれを行うことができます:

SELECT distinct players.pid
FROM players as injured
INNER JOIN players on players.team_id = injured.team_id
WHERE injured.injury = 'yes'

1つのチームに複数の負傷したプレーヤーがいる場合に使用distinctしました。その結果、そのチームのプレーヤーが複数回返されることになります。

于 2012-11-24T18:11:07.783 に答える