w2834098992 2023-03-25 08:59 采纳率: 50%
浏览 32
已结题

sql server 某个字段下的多个值拼接如何翻译

img

单个值我可以用 case when then 翻译,他这种多种值我翻译我如何实现。

  • 写回答

2条回答 默认 最新

  • 文盲老顾 WEB应用领新星创作者 2023-03-25 09:23
    关注

    sqlserver 如下

    
    with t1 as (
        select '张三' name,'A' tp
        union all select '李四','A,B'
        union all select 'xx','A,B,D,F'
        union all select 'yy','H,I,J,K'
    ),t2 as (
        select 'A' tp,'一' trans
        union all select 'b','二'
        union all select 'c','三'
        union all select 'd','四'
        union all select 'e','五'
        union all select 'f','六'
        union all select 'g','七'
        union all select 'h','八'
        union all select 'i','九'
        union all select 'j','十'
        union all select 'k','十一'
    )
    select * from t1 a
    cross apply (
        select stuff((
         select ','+trans 
         from t2 
         where charindex(tp,a.tp)>0
         order by charindex(tp,a.tp)
         for xml path('')
      ),1,1,'') ncol
    ) b
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月2日
  • 已采纳回答 3月25日
  • 创建了问题 3月25日