一、行转列 PIVOT函数,行转列,列转换UNPIVOThtml
select brlx as '姓名',西药费,中成药,中草药 from cc_mzjzzjb_zy a
PIVOT
(
max(a.ysje) for a.zy in(西药费,中成药,中草药)
)b;sql
select * from ShoppingCart as C PIVOT(count(TotalPrice) FOR [Week] IN([1],[2],[3],[4],[5],[6],[7])) AS T
https://www.cnblogs.com/linJie1930906722/p/6036714.html
https://www.cnblogs.com/wlsandwho/p/4423956.html
https://www.cnblogs.com/ylbtech/p/8028808.html
https://www.cnblogs.com/sword-successful/p/4814840.html
2.SQL XML
左外链接 LEFT OUTER JOIN 函数
select dm,ks from c_dept for xml pathsqlserver
select dm,ks from c_dept for xml path('Dept')spa
select dm,ks from c_dept for xml raw.net
select dm,ks from c_dept for xml autoserver
字符串解析为表xml
https://www.cnblogs.com/lanyubaicl/p/5671966.htmlhtm
特殊字符用nvarchar类型,插入的时候字符常量前面加Nblog
create table TbN( itemno NVARCHAR(50));
INSERT INTO TbN(itemno) VALUES (N'A02.201†' );
比较简单的生成多行数据相似select union
SELECT * FROM (VALUES(1),(2),(3)) AS V(A)
A
1
2
3
字符串拼接分解
SELECT stuff( (SELECT ',' + turnOffice FROM (
select ( select dm from c_dept t where t.ks=items) as turnOffice FROM dbo.[Split_StrByDelimiter](REPLACE( '内一科->内三科->外一科->骨科->妇科','->',','),',')
) A FOR XML PATH('')),1,1,'') as turnOffice
https://blog.csdn.net/sqlserverdiscovery/article/details/79187307
SQL Server 2016新增了string_split函数,专门用来拆分字符串。
SQL Server 2017RTM版,新增函数string_agg