繁体   English   中英

是否有SQL服务器的另一种解决方案

[英]Is there another solution for SQL server

我有一个小问题:

SELECT *
FROM  ZGA_DASHBOARD_FINAL
full outer join A_SGA_Name_ID_Final ON cast(REFERENCE_KEY1 as integer) =A_SGA_Name_ID_Final.[PERSONID_EXT]
WHERE ISNUMERIC(REFERENCE_KEY1) = 1 

对于我的输出,我有这样的错误:将varchar值'CORRECT'转换为数据类型int时转换失败。

当我通过内部联接更改完全外部联接时,它可以工作有人有同样的问题..提前感谢

您可以使用CTE首先限制ISNUMERIC返回true的记录:

; WITH NumericReference
AS (
    SELECT *
    FROM  ZGA_DASHBOARD_FINAL
    WHERE ISNUMERIC(REFERENCE_KEY1) = 1
    )
    SELECT *
    FROM  [NumericReference] nr
    FULL OUTER JOIN A_SGA_Name_ID_Final af 
        ON CAST(nr.REFERENCE_KEY1 AS INTEGER) = af.[PERSONID_EXT]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM