Sql CASE仍然返回null

Sql CASE仍然返回null,sql,sql-server,null,case,Sql,Sql Server,Null,Case,尝试让Dx_3中的输出在为NULL时打印,但我尝试过的NULLIF、COALESCE、ELSE等仍然打印NULL 尝试此合并…,如Dx_3;所示,我建议使用上述方法处理子查询中不匹配的情况。如果子查询中没有匹配项,它将返回null,最终结果就是需要合并的结果。在子查询中执行合并在这些情况下没有帮助。删除括号之间的行并插入COALESCEAD.Diagnosis,因为Dx_3确实有效,但它也会返回与帐户关联的所有Dx,其中括号之间的代码将其限制为仅1。嗯,这不是我的建议。这个是您现有的子查询。另一

尝试让Dx_3中的输出在为NULL时打印,但我尝试过的NULLIF、COALESCE、ELSE等仍然打印NULL


尝试此合并…,如Dx_3;所示,我建议使用上述方法处理子查询中不匹配的情况。如果子查询中没有匹配项,它将返回null,最终结果就是需要合并的结果。在子查询中执行合并在这些情况下没有帮助。删除括号之间的行并插入COALESCEAD.Diagnosis,因为Dx_3确实有效,但它也会返回与帐户关联的所有Dx,其中括号之间的代码将其限制为仅1。嗯,这不是我的建议。这个是您现有的子查询。另一种想法是,使用左连接而不是子查询是否更有意义?不知道为什么我没有想到在左连接中使用AND.DiagnosisSeqID='1'。。。。谢谢你的回答。
SELECT
    @RecordType AS RecordType_1
    ,AbstractData.AccountNumber AS AcctNum_2
    ,(SELECT
            CASE 
                    WHEN AD.Diagnosis IS NOT NULL THEN AD.Diagnosis
                    ELSE ''
            END
            FROM AbsDrgDiagnoses AD 
            WHERE (AD.DiagnosisSeqID ='1' AND AD.VisitID = AbstractData.VisitID)) AS Dx_3
FROM AbstractData --214
WHERE AbstractData.PtStatus <> 'REF'
SELECT @RecordType AS RecordType_1,
       AbstractData.AccountNumber AS AcctNum_2,
       COALESCE(AD.Diagnosis, '') AS Dx_3
FROM AbstractData
LEFT JOIN AbsDrgDiagnoses AD ON AD.VisitID = AbstractData.VisitID
WHERE AbstractData.PtStatus <> 'REF' AND AD.DiagnosisSeqID = '1'