create function f_join_str_fldm(@content varchar(100))
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+'、'+rtrim(ss_ksfl.flmc) from ss_ksfl,yw_ks,yw_ktlr where yw_ks.wtdm =yw_ktlr.wtdm and ss_ksfl.fldm = yw_ktlr.fldm and yw_ks.rhbh=@content group by ss_ksfl.fldm
select @str=right(@str,len(@str)-1)
return @str
end

解决方案 »

  1.   

    wgsasd311(自强不息)可能是我没说清楚,不是将ss_ksfl.fldm改为ss_ksfl.flmc
    改成ss_ksfl.flmc的话,是能刷出来,可不是我所期望的结果我期望的结果是要按照fldm的顺序刷出来,因为flmc是汉字,要是直接用ss_ksfl.flmc刷出来的话,它默认是按字母的顺序排列的,要是数字的话,要排在汉字前面,所以不行!
      

  2.   

    create function f_join_str_fldm(@content varchar(100))
    returns varchar(2000)
    as
    begin
    declare @str varchar(2000)
    set @str=''
    select @str=@str+'、'+rtrim(ss_ksfl.flmc) from ss_ksfl,yw_ks,yw_ktlr where yw_ks.wtdm =yw_ktlr.wtdm and ss_ksfl.fldm = yw_ktlr.fldm and yw_ks.rhbh=@content group by ss_ksfl.fldm order by ss_ksfl.fldm
    select @str=right(@str,len(@str)-1)
    return @str
    end