首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

如何简化这个sql语句

2012-01-20 
怎么简化这个sql语句?有下面这么个存储过程,因为参数(@EntrustStyle)的不同,导致条件表达式(WHERE..)也不

怎么简化这个sql语句?
有下面这么个存储过程,因为参数(@EntrustStyle)的不同,导致条件表达式(WHERE..)也不同,如下所示.这里用了4个IF   ELSE解决问题的,我想简化到一个SQL语句,请问如何实现??谢谢.

  /*       委托单       */
CREATE   proc   up_CheckEtrust
  @EntrustStyle   varchar(255)   =   ' ',           --委托方式(有:RT、UT、PT、MT)
  @FieldName     varchar(255)= ' '                     --字段名称  
AS

IF   @FieldName= 'RT_check '  
SELECT   *
FROM   FROM   info_weldlist
                WHERE   RT_check   =   '√ '  

ELSE
IF   @FieldName= 'UT_check '  
SELECT   *
FROM   FROM   info_weldlist
                WHERE   UT_check   =   '√ '  


ELSE
IF   @FieldName= 'PT_check '  
SELECT   *
FROM   FROM   info_weldlist
                WHERE   PT_check   =   '√ '  


ELSE
IF   @FieldName= 'MT_check '  
SELECT   *
FROM   FROM   info_weldlist
                WHERE   MT_check   =   '√ '  


[解决办法]
CREATE proc up_CheckEtrust
@EntrustStyle varchar(255) = ' ', --委托方式(有:RT、UT、PT、MT)
@FieldName varchar(255)= ' ' --字段名称
AS

exec( 'select * from info_weldlist where '+@FieldName+ '= ' '√ ' ' ')

热点排行