我創建了一個表,tblNewParts
3列:SQL服務器:選擇......從FULL JOIN具有默認值的列
NewCustPart
AddedDate
Handled
,我想FULL JOIN
它現有的表, tblPartsWorkedOn
。 tblNewParts
被定義爲已經辦理默認爲'N'
...
SELECT *
FROM dbo.tblPartsWorkedOn AS BASE
FULL JOIN dbo.tblNewParts AS ADDON ON BASE.[CustPN] = ADDON.[NewCustPart]
WHERE ADDON.[Handled] IS NULL
ORDER BY [CustPN] DESC
而且我要現場[Handled]
回來爲'N'
而不是NULL
當我運行查詢。問題是,當沒有在新表中的任何記錄,我得到NULL
的,而不是'N'
秒。
我看到一個SELECT CASE WHEN col1 IS NULL THEN defaultval ELSE col1 END
從here一個主要適用答案。我想知道這是否會在這種情況下工作,以及如何在SQL Server 2012的T-SQL中編寫該代碼?我需要兩張表的所有列,而不僅僅是一列。
我做這一個問題,而不是引用鏈路上的評論,以便不掩蓋原始鏈接的問題。
謝謝你的幫助!
什麼阻止您嘗試此解決方案? –
@IvanStarostin仍然是SQL的新手,並且因爲它不是一門完整的編程語言而碰壁,我尋求幫助,然後去嘗試一些東西。我發佈了我的「答案」,因爲它現在適用於我,我希望它能夠保持像我一樣思考的其他人,而不是典型的SQL程序員。 :D – Michieal
隨着'ISNULL'和'COALESCE'函數用法的演示,可以張貼更多的答案。 –