1

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

招待

  • 招待ID
  • ユーザーID
  • Eメール

ユーザー

  • ユーザーID
  • ユーザー名

両方のテーブルにデータがあります

招待表データ

29  NULL    test1@example.com   
40  8       test2@example.com                                                                       
41  8       test3@example.com     

ユーザーテーブル データ

8     someone@example.com

今、私はテーブルからすべてのデータを選択したいInvitationと思ってUsernameUsersます。Invitation.InvitationIDUsers.UserID

次のクエリを使用してデータを選択します

SELECT 
    Invitations.*, Users.UserName
FROM
    Invitations 
INNER JOIN
    Users ON Invitations.UserID = Users.UserID

ただし、2 行しか返されません。Invitationテーブルからすべての行を選択したい。である場合Invitation.UserIDnullUsernamenullです。次のような出力が必要です。

 29  NULL   test1@example.com   Null
 40  8      test2@example.com   someone@example.com                                                                  
 41  8      test3@example.com   someone@example.com 
4

1 に答える 1

4

左結合を使用する必要があります:

SELECT Invitations.*, Users.UserName
FROM     Invitations left JOIN
              Users ON Invitations.UserID = Users.UserID
于 2012-11-29T07:36:08.237 に答える