关闭

ms sql 多行記錄合併成一個字符串或多字段(行轉列)

3627人阅读 评论(0) 收藏 举报

--將COPTN表中TN12字段的內容,可能多條記錄,合併成一個字符串
declare @tg varchar(250),@ct int

--計算需要合併記錄的數量並保存在@tc變量中,並初始化@tg
select @ct=count(a.TN012),@tg='' from  (
    select TN012 from COPTN
        where TN001+TN002 in (
            select TH045+TH046 from COPTH
            where TH001+TH002 in ('2313100626003')
        )
    ) a

while @ct>0 begin --@ct作為計數號,等於0時停止查詢
    select @tg=@tg+' / '+b.TN012 from ( --TN012內容之間用' / '分開
        select row_number() over(order by TN002)  RID,TN012 from COPTN 

                --row_number() over(order by TN002)  RID 將符合條件的記錄按TN002字段排序並編號,作為字段RID加到返回的結果中
            where TN001+TN002 in (
                select TH045+TH046 from COPTH
                where TH001+TH002 in ('2313100626003')
            )
        ) b
    where b.RID=@ct --每次只返回記一條錄號RID等於@ct的記錄
    select @ct=@ct-1 --完成一條查詢後@ct計數減1,
end

select @tg=substring(@tg,4,250) --去掉分隔符' / '
select @tg


0
0

猜你在找
【直播】机器学习&深度学习系统实战(唐宇迪)
【直播】Kaggle 神器:XGBoost 从基础到实战(冒教授)
【直播回放】深度学习基础与TensorFlow实践(王琛)
【直播】计算机视觉原理及实战(屈教授)
【直播】机器学习之凸优化(马博士)
【直播】机器学习之矩阵(黄博士)
【直播】机器学习之概率与统计推断(冒教授)
【直播】机器学习之数学基础
【直播】TensorFlow实战进阶(智亮)
【直播】深度学习30天系统实训(唐宇迪)
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:86071次
    • 积分:1353
    • 等级:
    • 排名:千里之外
    • 原创:44篇
    • 转载:1篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论