sql 行转列

原数据:

select * from GZWZ_BZMCZJDGS t

sql 行转列_第1张图片

注意:

-- to_char() : 转换成字符,在使用listagg函数是出现乱码时使用

-- listagg(to_char(bz.lx),',')  :    把lx行转换成列,并用","隔开,必须与witn group组合使用,否则报错

     sql 行转列_第2张图片          

行转列sql语句:

     -- sql 行转列   

SELECT bz.bzmc,bz.jdgs, listagg(to_char(bz.lx),',') within group (order by to_char(bz.lx)) lx

  FROM GZWZ_BZMCZJDGS bz group by bz.bzmc,bz.jdgs 


你可能感兴趣的:(sql)