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