我無法使用SQL Server中的JOIN從兩個表中獲取完整記錄。如何從SQL Server 2008 R2中的兩個表中獲取完整記錄
我需要兩個表中的全部細節,其中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 NULL NULL
雖然我期待下面的結果
ID BlogTitle CatID CatName
----------------------------------------------
1 Title One 10 Category One
我嘗試一些東西,但我不知道我做錯了。
只是爲了仔細檢查:是CATID的兩個表中的數據類型一樣嗎?你確定,你正在爲所需的記錄存儲相同的值(在這種情況下,10沒有空格和不可打印的字符)?如果在左邊的表上有一個常量過濾器,則不需要完全聯接,因爲它會將結果減少到僅包含所有空值的值。 – 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