[英]Is there another solution for SQL server
I have a small problem : 我有一个小问题:
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
For my output I have this error : Conversion failed when converting the varchar value 'CORRECT' to data type int. 对于我的输出,我有这样的错误:将varchar值'CORRECT'转换为数据类型int时转换失败。
and when I change full outer join by Inner join it works Someone had the same problem.. Thanks in advance 当我通过内部联接更改完全外部联接时,它可以工作有人有同样的问题..提前感谢
You can use a CTE to first limit the records where the ISNUMERIC returns true: 您可以使用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.