Sql server 如何检查一个查询的结果是否等于SQL中另一个查询的结果之一?

Sql server 如何检查一个查询的结果是否等于SQL中另一个查询的结果之一?,sql-server,comparison,case-when,Sql Server,Comparison,Case When,我的目标查询返回1s或0s,具体取决于是否满足某些条件: SELECT TOP 1 ISNUMERIC(LEFT(Attachment, 4)) as Column1, ISNUMERIC(SUBSTRING(Attachment, 5, 4)) as Column2 --Column3 to be included FROM Table1 截至目前,结果如下: Column1|Column2 1 0 我想在目标查询中包括第3列。我想要的结果是像前两列一样的1或0。我想使用以下查

我的目标查询返回1s或0s,具体取决于是否满足某些条件:

SELECT TOP 1
ISNUMERIC(LEFT(Attachment, 4)) as Column1,
ISNUMERIC(SUBSTRING(Attachment, 5, 4)) as Column2
--Column3 to be included
FROM Table1
截至目前,结果如下:

Column1|Column2
1       0
我想在目标查询中包括第3列。我想要的结果是像前两列一样的1或0。我想使用以下查询来确定结果:

SELECT
Description
FROM Table2 
WHERE Status = 1
结果如下:

AA
BB
CC

我想检查是否从表1中选择子字符串(附件9,2)=表2中的一个结果。如果找到匹配项,我想要1,如果不是0。我可能需要使用CASE结构,但我不确定。

您可以使用
CASE
存在
中的

SELECT TOP 1 ISNUMERIC(LEFT(t1.Attachment, 4)) as Column1,
       ISNUMERIC(SUBSTRING(t1.Attachment, 5, 4)) as Column2,
       (CASE WHEN SUBSTRING(Attachment, 9, 2) IN (SELECT Description FROM Table2 WHERE Status = 1)
             THEN 1 ELSE 0
        END) as Column3 
FROM Table1 t1;

示例数据(以
Table1
Table2
的文本表的形式以及所需的结果)将是一个很大的帮助。谢谢。我在读你的答案之前就知道了。我使用了完全相同的结构-它可以工作。