mysql行列转换,sql行列转换的函数

  mysql行列转换,sql行列转换的函数

  是个公司采购表,想转化成如下报表,显示每个公司各采购了些什么产品:

  结构化查询语言语句》答案:

  1 declare @sql varchar(8000) -声明一个字符串变量

  2 set @sql=select

  公司名称,-开始设置语句

  3 - 动态生成语句开始(开始转成列) -

  4 select @sql=@sqlsum(case when

  ProductName=ProductName 然后

  num else 0 end)[ProductName],

  5从(从订单中选择不同的前商品名称

  命令

  ProductName)a

  6 - 动态生成语句

  结束-

  7 set @sql=left(@sql,len(@sql)-1) from (select

  CompanyName,ProductName,COUNT(*)as num

  来自dbo .订单分组依据

  产品名称,公司名称)按公司名称分组

  8打印@sql -打印输出最终执行的结构化查询语言

  9 exec(@sql)执行结构化查询语言字符串

mysql行列转换,sql行列转换的函数