2012-11-16 18 views
0

我想檢查具有此值的列的現有行。我試圖讓這段代碼的工作:SQL - 選擇是否存在具有此值的列的現有行

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

我想檢查是否有在rentalhistory表中的一行與10380一resmidrthdisplaybit 1.我不能得到它的工作。

回答

2

您可以使用如下exists條款:

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

您可以使用If exists

IF EXISTS (SELECT * FROM RENTALHISTORY WHERE RESMID=10380 AND RTHDISPLAYBIT='1') 
    Print 'Found' 
ELSE 
    Print 'Not found' 
1

你不能指望僅僅像這樣的代替?

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