Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 Transact-SQL (2005)
 using If-Else statement in the query..

Author  Topic 

ganny
Yak Posting Veteran

51 Posts

Posted - 2010-06-03 : 02:47:51
Hello All,

I have stuck to get the result of my query using if-else. Please see the query below, it shows an error while executing as "Incorrect syntax near the keyword 'if', please check and advice how to write the below query correctly to get the result.

SELECT
CASE WHEN EXISTS(SELECT TNO FROM TMASTER WHERE TNO='TX100D') THEN 'YES' ELSE 'NO' END AS TNUM,
CASE WHEN EXISTS(SELECT BNO FROM BMASTER WHERE BNO='BDZ0D2') THEN 'YES' ELSE 'NO' END AS BNUM,
IF (SELECT CCHK FROM CMASTER WHERE CNO='CLI999')='NO'
BEGIN
SELECT CASE WHEN EXISTS(SELECT CNO FROM CMASTER WHERE CNO='XPPD00') THEN 'YES' ELSE 'NO' END AS CNUM
END
ELSE
SELECT CASE WHEN EXISTS(SELECT CNO FROM FMASTER WHERE CNO='XPPD00') THEN 'YES' ELSE 'NO' END AS CNUM
END


Regards,
Ganny.

Kristen
Test

22859 Posts

Posted - 2010-06-03 : 03:36:46
[code]
CASE WHEN (SELECT CCHK FROM CMASTER WHERE CNO='CLI999')='NO'
THEN
CASE WHEN EXISTS(SELECT CNO FROM CMASTER WHERE CNO='XPPD00') THEN 'YES' ELSE 'NO' END
ELSE
CASE WHEN EXISTS(SELECT CNO FROM FMASTER WHERE CNO='XPPD00') THEN 'YES' ELSE 'NO' END
END AS CNUM
[/code]
Go to Top of Page

GopiMuluka
Starting Member

12 Posts

Posted - 2010-06-03 : 03:39:14
In SELECT query we are not allowed to use IF as inline statement, You have to re-write your query using CASE statement, or try to split it into two or more SELECT statement's based on your condition in IF statement
Go to Top of Page
   

- Advertisement -