0

我想检查是否存在具有此值的列的现有行。我正在尝试使此代码正常工作:

IF COUNT(SELECT * FROM RENTALHISTORY WHERE RESMID=10380 AND RTHDISPLAYBIT='1') = 1
BEGIN
    PRINT 'HELLO'
END
ELSE
BEGIN
    PRINT 'HI'
END

我想检查rentalhistory表中是否有resmid10380 和rthdisplaybit1 的行。我无法让它工作。

4

3 回答 3

2

您可以使用exists以下子句:

IF exists(SELECT 1 
          FROM RENTALHISTORY 
          WHERE RESMID=10380 
          AND RTHDISPLAYBIT='1') 
  BEGIN
    PRINT 'HELLO'
  END
ELSE
  BEGIN
    PRINT 'HI'    
  END
于 2012-11-16T09:14:06.567 回答
1

你就不能这样算吗?

if (SELECT count(*) FROM RENTALHISTORY WHERE RESMID=10380 AND RTHDISPLAYBIT='1') = 1
BEGIN
    PRINT 'HELLO'
  END
ELSE
  BEGIN
    PRINT 'HI'    
  END
于 2012-11-16T09:19:22.693 回答
0

您可以使用If exists

IF EXISTS (SELECT * FROM RENTALHISTORY WHERE RESMID=10380 AND RTHDISPLAYBIT='1')
    Print 'Found'
ELSE
    Print 'Not found'
于 2012-11-16T09:15:35.297 回答