Monday, August 13, 2012

SQL Write CASE STATEMENT IN WHERE CONDITION

Write CASE STATEMENT IN WHERE CONDITION
--------------------------------------------
create table Billings (
     BankerID           INTEGER,
     BillingNumber      INTEGER,
     BillingDate        datetime,
     BillingTotal       INTEGER,
    TermsID            INTEGER,
     BillingDueDate     datetime ,
    PaymentTotal       INTEGER,
     CreditTotal        INTEGER
 );
 GO
 
 INSERT INTO Billings VALUES (1, 1, '2005-01-22', 165, 1,'2005-04-22',123,321);
 INSERT INTO Billings VALUES (2, 2, '2001-02-21', 165, 1,'2002-02-22',123,321);
 INSERT INTO Billings VALUES (3, 3, '2003-05-02', 165, 1,'2005-04-12',123,321);
 INSERT INTO Billings VALUES (4, 4, '1999-03-12', 165, 1,'2005-04-18',123,321);
 INSERT INTO Billings VALUES (5, 5, '2000-04-23', 165, 1,'2005-04-17',123,321);
 INSERT INTO Billings VALUES (6, 6, '2001-06-14', 165, 1,'2005-04-18',123,321);
 INSERT INTO Billings VALUES (7, 7, '2002-07-15', 165, 1,'2005-04-19',123,321);
 INSERT INTO Billings VALUES (8, 8, '2003-08-16', 165, 1,'2005-04-20',123,321);
 INSERT INTO Billings VALUES (9, 9, '2004-09-17', 165, 1,'2005-04-21',123,321);
 INSERT INTO Billings VALUES (0, 0, '2005-10-18', 165, 1,'2005-04-22',123,321);
 
DECLARE @BANKERID varchar(100)
Set @BANKERID = 'test'
SELECT BankerID,BillingNumber, BankerID * (SELECT COUNT(BankerID) FROM Billings) 
FROM Billings
WHERE     
BANKERID = CASE(@BANKERID)
  WHEN 'test' THEN 1
 -- WHEN 2 THEN 2
 END 
AND BillingNumber = 2
------------------------------------------------------------------------------------------------------
DECLARE @BANKERID varchar(100)
Set @BANKERID = 'test'
SELECT BankerID,BillingNumber, BankerID * (SELECT COUNT(BankerID) FROM Billings) 
FROM Billings
WHERE    
 BillingNumber = 2 AND
 
 @BANKERID =
CASE @BANKERID
  WHEN 'test' THEN 'test'
 -- WHEN 2 THEN 2
 END 
 
 
 --------------------------------------------------------------------------------------------------------
 
 DECLARE @BANKERID varchar(100)
Set @BANKERID = 'test'
SELECT @BANKERID,BankerID,BillingNumber, BankerID * (SELECT COUNT(BankerID) FROM Billings) 
FROM Billings
WHERE    
 BillingNumber = 2 AND
 
 @BANKERID =
CASE @BANKERID
  WHEN 'test' THEN 'test'
 -- WHEN 2 THEN 2
 END 

0 comments:

Post a Comment