这两个case when 语句为什么有错
1。
select  
       case @SamplingStepDateValue when  'A' then *  
                                   else top 1 *  
       end
From @tbl  
2。
。。。。。(已经选好内容,需要排序)
ORDER BY  
    case @SamplingStepDateValue ='A'then
	RemediationId
	, TYear_seq DESC
	, WTHRGH_Seq DESC
	, CONST_Seq DESC
	, RECD_Seq DESC
	, CLEAN_Seq DESC
	, REF_Seq DESC
    case @SamplingStepDateValue ='E' then
         DATESAM_DATE ASC
    case @SamplingStepDateValue ='L' then
         DATESAM_DATE DESC  
------解决方案--------------------select 
 case @SamplingStepDateValue when 'A' then * 
 else top 1 * 
 end
From @tbl 
-->不能用*,要具体一列
------解决方案--------------------case when then else end 相当于三目运算,只能是单个值,不能是数据集
------解决方案--------------------你的第二个是语法问题,你可以看看,第一个也是我前两天正在纠结的问题,然后我换个写法,用if exists来写的,这里我总算明白了,为什么,我的当时写法错了,因为我查询的结果是一个数据集
------解决方案--------------------一个查询中order by 比较的字段或表达式只能是固定的,不能用一个case 来order by 不固定的字段.