1

私は2つのテーブルを持っています:

player_id と name を持つプレーヤー

player_id と team_id を持つチーム

すべての選手がチームにエントリーしているわけではありません。

player_id が与えられた場合、player_id がteam テーブルに見つからない場合は名前と null を返すクエリを作成しようとしています。

さまざまな JOIN を試しましたが、null、null、またはテーブルで見つかった最初の team_id を持つ名前のいずれかを取得します。

助けてくれてありがとう

4

1 に答える 1

3

これを行う

SELECT p.PlayerID, t.PlayerID
FROM Player p
LEFT JOIN Team t
ON p.PlayerID = t.PlayerID

null が返されるようにするには、t.PlayerID を選択します。p.PlayerID は、Player に存在する場合は null にはなりません。

結果は次のようになります

PlayerID   Player Name    TeamID    PlayerID
-------------------------------------------------
0001       John           NULL      NULL

ご覧のとおり、最初の PlayerID ではなく、2 番目の PlayerID が NULL です。2番目の例を選択してくださいWHERE t.PlayerID IS NULL

于 2012-09-17T10:56:05.617 に答える