12

以下の 2 つのテーブルを作成しましFK_TypeIDたが、この場合は null 可能です。2 つのテーブルの結合を返すクエリを作成したいと考えています。

特定の行のNULLの場合、FK_TypeIDNULLです。そのような結合ステートメントを作成する方法がわかりませんか?TypeName

[Actions]
ActionsID
Date
Message
FK_TypeID //links to the table below

[Type]
TypeID
TypeName

私の現在のステートメントは次のようになり、単にNULL FK_TypeID行をスキップします

SELECT        *
FROM            Actions 
INNER JOIN      TypeName ON Actions.FK_TypeID = [Type].TypeID

助けていただければ幸いです。

4

2 に答える 2

30

あなただけを使用する必要がありますLEFT JOIN

SELECT Actions.Date, Actions.Message, Type.TypeName
FROM Actions
    LEFT JOIN Type 
        ON Type.TypeID = Actions.FK_TypeID

に一致するものActionsが見つからない場合、 のTypeすべての列は にTypeなりますNULL

これは、SQL のさまざまなタイプの結合をグラフィカルに視覚化したものです。

于 2012-04-13T22:02:18.473 に答える
1

OUTER JOIN を使用する

SELECT Actions.Date, Actions.Message, Type.TypeName 
FROM   Actions LEFT OUTER JOIN 
           Type ON Type.TypeID = Actions.FK_TypeID 
于 2012-04-13T23:57:55.067 に答える