Sql server 2008 r2 sql server所有关键字
假设我有下表:Sql server 2008 r2 sql server所有关键字,sql-server-2008-r2,Sql Server 2008 R2,假设我有下表: ID Value -- ---- 1 1 1 1 1 0 2 1 2 1 让我们取1的ID。我需要检查所有为1的ID的值是否为1。 如果不是,我需要返回“不适用”。在本例中,由于第3行的值为0,我需要返回“N/a” select * from tbl1 where ID = 1 and value = 1 我做不到 我知道SQL有ALL关键字,但不确定在这种情况下如何使用它我假设您也在测试ID=2,那么值也等于2,依此类推,即ID=value,
ID Value
-- ----
1 1
1 1
1 0
2 1
2 1
让我们取1的ID。我需要检查所有为1的ID的值是否为1。
如果不是,我需要返回“不适用”。在本例中,由于第3行的值为0,我需要返回“N/a”
select * from tbl1 where ID = 1 and value = 1
我做不到
我知道SQL有ALL关键字,但不确定在这种情况下如何使用它我假设您也在测试ID=2,那么值也等于2,依此类推,即ID=value,如果是:
SELECT
ID,
Value,
CASE WHEN ID=Value THEN 'Equal' ELSE 'N/A' END AS TheStatus
FROM
MyTable
所有这些都与此无关。您期望的输出究竟是什么。
DECLARE @id INT;
SET @id = 1;
SELECT CASE
WHEN EXISTS (SELECT 1 FROM dbo.tablename WHERE ID = @id AND Value <> 1) THEN 'N/A'
WHEN EXISTS (SELECT 1 FROM dbo.tablename WHERE ID = @id) THEN 'All are equal to 1'
ELSE 'No values present with this ID.'
END