输出值以及它是否存在于SQL Server 2008数据库中

输出值以及它是否存在于SQL Server 2008数据库中,sql,sql-server,boolean,Sql,Sql Server,Boolean,我试图创建一个查询,该查询输出(1)值(2)值是否存在。我试过了 SELECT CASE WHEN EXISTS ( SELECT [IP_ADDR1_TEXT] FROM [dbo].[V_SEM_COMPUTER] WHERE [IP_ADDR1_TEXT] = '10.10.10.10' ) , [IP_ADDR1_TEXT] THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT) END 我得到了一个错误。谢谢 澄清 当我尝试 SELE

我试图创建一个查询,该查询输出(1)值(2)值是否存在。我试过了

SELECT CASE WHEN EXISTS (
    SELECT [IP_ADDR1_TEXT]
    FROM [dbo].[V_SEM_COMPUTER]
    WHERE [IP_ADDR1_TEXT] = '10.10.10.10'
) , [IP_ADDR1_TEXT] 
THEN CAST(1 AS BIT)
ELSE CAST(0 AS BIT) END
我得到了一个错误。谢谢

澄清

当我尝试

SELECT CASE WHEN EXISTS (
    SELECT [IP_ADDR1_TEXT]
    FROM [dbo].[V_SEM_COMPUTER]
    WHERE [IP_ADDR1_TEXT] = '10.10.10.10'
) 
THEN CAST(1 AS BIT)
ELSE CAST(0 AS BIT) END
它只输出1或0。我希望它输出IP地址,以及1或0,这取决于它是否存在

IP Address   EXISTS
10.10.10.10    1

下面是一个简单的方法

SELECT cast(count([IP_ADDR1_TEXT]) as bit) as IP_Exists
FROM [dbo].[V_SEM_COMPUTER]
WHERE [IP_ADDR1_TEXT] = '10.10.10.10'

这应该可以解决问题

SELECT 
CASE WHEN COUNT(distinct [IP_ADDR1_TEXT]) > 0 THEN CAST(1 AS BIT)
ELSE CAST(0 AS BIT) END AS Some_blah
    FROM [dbo].[V_SEM_COMPUTER]
    WHERE [IP_ADDR1_TEXT] = '10.10.10.10'
你已经尝试过的方法也会奏效。只需提到下面的
CASE
语句前面的列即可

SELECT [IP_ADDR1_TEXT],
    CASE WHEN EXISTS (
    SELECT [IP_ADDR1_TEXT]
    FROM [dbo].[V_SEM_COMPUTER]
    WHERE [IP_ADDR1_TEXT] = '10.10.10.10'
) 
THEN CAST(1 AS BIT)
ELSE CAST(0 AS BIT) END
FROM [dbo].[V_SEM_COMPUTER]
WHERE [IP_ADDR1_TEXT] = '10.10.10.10'