当没有行D.MetaDataID = '580c215f-54cb-4449-8368-7d740be71973'和数据表时,我该怎么办才能使我的语句返回Null ?
我试过Left JOIN但没有任何改变...... :(
SELECT
D.Value
FROM dbo.Item I
JOIN dbo.Data D ON D.ItemID = I.ID
WHERE I.ItemTypeID = '14ea6709-1bf8-4d5c-9090-3ace3cc42874' --Instance.album
AND D.MetaDataID = '580c215f-54cb-4449-8368-7d740be71973' --freepacks
Run Code Online (Sandbox Code Playgroud)
你需要一个LEFT JOIN并将条件D移入ON子句而不是WHERE.在该WHERE子句中,这会将您的查询转换回内部联接.
SELECT D.Value
FROM dbo.Item I
LEFT JOIN dbo.Data D
ON D.ItemID = I.ID
AND D.MetaDataID = '580c215f-54cb-4449-8368-7d740be71973'
--freepacks
WHERE I.ItemTypeID = '14ea6709-1bf8-4d5c-9090-3ace3cc42874' --Instance.album
Run Code Online (Sandbox Code Playgroud)