SQL存在于表A或表B中
我试图创建一个脚本,它需要一个子句来检查表1或表2中是否存在表3中的列值SQL存在于表A或表B中,sql,sql-server,tsql,select,where-clause,Sql,Sql Server,Tsql,Select,Where Clause,我试图创建一个脚本,它需要一个子句来检查表1或表2中是否存在表3中的列值 SELECT * FROM [ZERO_BALANCE].[DBO].[dat_acct_codes_REJECTIONS] ACR WHERE [REJECTIONREASON] = 'MISSING LINKING ACCOUNT' AND EXISTS (SELECT 1 FROM ref_PX WHERE CAST(PX AS VARCHAR(MAX)) = CAST(ACR.[Code] AS V
SELECT *
FROM [ZERO_BALANCE].[DBO].[dat_acct_codes_REJECTIONS] ACR
WHERE [REJECTIONREASON] = 'MISSING LINKING ACCOUNT'
AND
EXISTS
(SELECT 1 FROM ref_PX WHERE CAST(PX AS VARCHAR(MAX)) = CAST(ACR.[Code] AS VARCHAR(MAX))
OR
(SELECT 1 FROM ref_DX WHERE CAST(DX AS VARCHAR(MAX)) = CAST(ACR.[Code] AS VARCHAR(MAX)))
Msg 4145,第15级,状态1,第44行
在预期条件的上下文中指定的非布尔类型的表达式,靠近''
您的查询存在问题:
函数缺少括号(如的注释)CAST()
- 您需要为每个条件重复
关键字EXISTS
- 请注意运算符的预相关性:
的预相关性低于或
,因此,据我所知,您的查询中,和
的条件应该用括号括起来或
SELECT *
FROM [ZERO_BALANCE].[DBO].[dat_acct_codes_REJECTIONS] ACR
WHERE
[REJECTIONREASON] = 'MISSING LINKING ACCOUNT'
AND (
EXISTS (
SELECT 1
FROM ref_PX
WHERE CAST(PX AS VARCHAR(MAX)) = CAST(ACR.[Code] AS VARCHAR(MAX))
)
OR EXISTS (
SELECT 1
FROM ref_DX
WHERE CAST(DX AS VARCHAR(MAX)) = CAST(ACR.[Code] AS VARCHAR(MAX))
)
)
您的查询存在问题:
函数缺少括号(如的注释)CAST()
- 您需要为每个条件重复
关键字EXISTS
- 请注意运算符的预相关性:
的预相关性低于或
,因此,据我所知,您的查询中,和
的条件应该用括号括起来或
SELECT *
FROM [ZERO_BALANCE].[DBO].[dat_acct_codes_REJECTIONS] ACR
WHERE
[REJECTIONREASON] = 'MISSING LINKING ACCOUNT'
AND (
EXISTS (
SELECT 1
FROM ref_PX
WHERE CAST(PX AS VARCHAR(MAX)) = CAST(ACR.[Code] AS VARCHAR(MAX))
)
OR EXISTS (
SELECT 1
FROM ref_DX
WHERE CAST(DX AS VARCHAR(MAX)) = CAST(ACR.[Code] AS VARCHAR(MAX))
)
)