Set @sql = 'select top 1 voiceName from Enterprise_FuncJK_' + rtrim(@biaoming) + ' where voicesort='''+ rtrim(@VoiceSort)+''' and id not in(select top 5 id from Enterprise_FuncJK_' + rtrim(@biaoming) + ' where voicesort='''+ rtrim(@VoiceSort)+''' order by dateCol DESC)
   order by dateCol DESC'

解决方案 »

  1.   

    set  @sql = 'select top 1 VoiceName from (select top 6 ' + 'VoiceName,'+rtrim(@dTime)+' as dTime from Enterprise_FuncJK_' + rtrim(@biaoming) + ' where VoiceSort=' +''''+ rtrim(@VoiceSort)+''''+'  order by '+ rtrim(@dTime)+') as T_table order by dTime desc'
      

  2.   

    declare @sql nvarchar(2000),@biaoming varchar(200),@VoiceSort varchar(200),@dTime varchar(200)
    set @biaoming = 'biaoming'
    set @VoiceSort='VoiceSort'
    set @dTime='dTime'set  @sql = 'select top 1 VoiceName from (select top 6 ' + 'VoiceName,'+rtrim(@dTime)+' as dTime from Enterprise_FuncJK_' + rtrim(@biaoming) + ' where VoiceSort=' +''''+ rtrim(@VoiceSort)+''''+'  order by '+ rtrim(@dTime)+') as T_table order by dTime desc'
    print @sql
      

  3.   

    select top 1 VoiceName from (select top 6 ' + 'VoiceName,'+rtrim(@dTime)+' as dTime我不明白的是,top 6,这个6 ,我可以随机输入吧,第二个,为什么这里就要输入dTime呢,谢谢,我已经差不多弄好了,就是想学习一下
      

  4.   

    top 6 就是前6个,你换7就是前7个.可以输入的
    T_table order by dTime desc'最后这个dTime ,其实是你的@dTime.
    应该是T_table order by '+ @dTime +' desc'写错了意思你明白就好.