case 语句返回结果筛选问题
select   a 
 =   case    
 when   co1=‘x’, 
 then   .....   
 结果会有包含‘x '以外的纪录,其中co1=。。。的纪录   case语句会起作用. 
 有时候为了提高性能,想只得到’x '的纪录, 
 这样的case   语句怎样写? 
 如果只对   co=x   的纪录感兴趣,这样做会提高查询的性能吗? 
 如果在then   中加   where   只能对case的结果起作用。 
------解决方案--------------------只对 co=x 的纪录感兴趣 
 就在where 里写 
 where co= 'x '   
------解决方案--------------------1.首先CASE用得不太對: 
   應該 Select a=case col where  'x ' then ... else ... end 
 2.在這裏使用CASE對於效率沒有任何的幫助,因為CASE是加在每一條上的,並不能實際減少記錄量. 
   可以這樣處理 select ... from (select * from t where col= 'x ') t,這樣就行,如果你的SQL很簡單的話也可以不用這種嵌套,直接將條件放在WHERE子句中 
------解决方案--------------------SELECT   ProductNumber, Category =  'Road ',Name 
 FROM Production.Product where ProductLine = 'R ' 
 ORDER BY ProductNumber;