输出值以及它是否存在于SQL Server 2008数据库中
我试图创建一个查询,该查询输出(1)值(2)值是否存在。我试过了输出值以及它是否存在于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
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'