Sql server 将临时表中一列中的数据检查到另一个表中的列

Sql server 将临时表中一列中的数据检查到另一个表中的列,sql-server,tsql,Sql Server,Tsql,我在临时表中有一列,每行包含不同的值。我想检查以确保该列中的值存在于不同表中的任何行中。如果没有,则调用RaisError。如果临时表中只有一行,我可以这样做。但是,如果有两个或更多,我会得到: Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , 我正在阅读正在发生的事情,但我找到的解决方案似乎有些过火。刚刚注意到我的问题不好。。问题解

我在临时表中有一列,每行包含不同的值。我想检查以确保该列中的值存在于不同表中的任何行中。如果没有,则调用RaisError。如果临时表中只有一行,我可以这样做。但是,如果有两个或更多,我会得到:

Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= ,

我正在阅读正在发生的事情,但我找到的解决方案似乎有些过火。

刚刚注意到我的问题不好。。问题解决了

IF EXISTS (SELECT tmp.[SomeRefNumber] FROM dbo.TmpTable as tmp where tmp.[SomeRefNumber] NOT IN (SELECT SOURCE.SameRefDiffTable FROM SOURCE))
BEGIN
    RAISERROR('Oh no reference doesn't exist ', 16, 1) WITH NOWAIT
END
IF EXISTS (SELECT tmp.[SomeRefNumber] FROM dbo.TmpTable as tmp where tmp.[SomeRefNumber] NOT IN (SELECT SOURCE.SameRefDiffTable FROM SOURCE))
BEGIN
    RAISERROR('Oh no reference doesn't exist ', 16, 1) WITH NOWAIT
END