SQL ServerでJOINを使用して2つのテーブルからフルレコードを取得できません。SQL Server 2008 R2の2つのテーブルからフルレコードを取得する方法
私はID=1
が、私はテーブルBlog
& Category
を持って、両方のテーブルからの完全な詳細を必要としています。
Blog
テーブル:
ID BlogTitle CatID Public
--------------------------------------
1 Title One 10 1
2 Title Two 0 1
3 Title Three NULL 1
Category
テーブル:
CatID CatName
--------------------
10 Category One
20 Category Two
クエリ
SELECT
ID, BlogTitle, c.CatID, CatName
FROM
Blog b
FULL OUTER JOIN
Category C ON b.CatID = c.CatID
WHERE
Public = 1 AND ID = 1
、私は次のような結果を得ます
私は、次のような結果
ID BlogTitle CatID CatName
----------------------------------------------
1 Title One 10 Category One
を期待していますが、私はいくつかのことを試してみましたが、私は私が間違っているのかわからないです。
:CATIDのデータ型は、両方のテーブルに同じですか?あなたは確かです、あなたは希望のレコード(この場合は10スペースと印刷できない文字なしで10)の同じ値を格納している?左テーブルに定数フィルタがある場合は、完全結合は必要ありません。すべてのNULLを除いてその値だけに結果が縮小されるからです。 – Pred
SELECT ID、BlogTitle、c.CatID、CatNameの出力を貼り付けてください。 FROM Blog b FULL OUTER JOINカテゴリC ON b.CatID = c.CatID WHERE Public = 1 – ProgrammerBoy
@Pred、はい両方のCatIDが 'Int'です両方のテーブルに入力します。なぜこれが私にそんなに多くの頭を与えているのかわからない。私は両方のテーブルレコードにクロスチェックされたレコードがある。 – Learning