在多个SQL SERVER列中透视

在多个SQL SERVER列中透视,sql,sql-server,Sql,Sql Server,我的数据表如下: CLIENT ART MONTH1 MONTH2 MONTH3 11 1 100 150 300 11 2 200 250 350 但我需要这个 CLIENT ART MONTH1 MONTH2 MONTH3 ART2 MONTH1_2 MONTH2_2 MONTH3_2 11 1 100 150 300 2 200

我的数据表如下:

CLIENT  ART  MONTH1  MONTH2  MONTH3
  11     1     100     150     300
  11     2     200     250     350
但我需要这个

CLIENT  ART  MONTH1  MONTH2  MONTH3  ART2  MONTH1_2  MONTH2_2  MONTH3_2
  11     1     100     150    300      2     200       250       350
我试过这个SQL代码

SELECT cliente, [1] art1, SUM([10]) month1 , SUM([11]) month2, SUM([12]) month3, [10] art2 , SUM([10]) month1_2 , SUM([11]) month2_2, SUM([12]) month3_2
FROM (
    SELECT v.cliente, MONTH(v.fechaemision) Mes, vd.articulo, vd.cantidad
    FROM venta v 
        JOIN ventad vd on v.id=vd.id and v.mov='Estadistica'
) AS SourceTable
PIVOT(
    max(articulo)
    FOR articulo IN ( [100],[1])-- and  Artiulo in ([100])
) AS PivotTable
PIVOT(
    AVG(cantidad)
    FOR Mes IN ( [10],[11],[12])-- and  Artiulo in ([100])
) AS PivotTable
GROUP BY cliente, [10], [1]
结果如下:

CLIENT  ART  MONTH1  MONTH2  MONTH3  ART2  MONTH1_2  MONTH2_2  MONTH3_2
  11     1     100     150     300    2      100        150      300
我可以旋转艺术品,但不能旋转第二件艺术品每个月的数量

有谁能指导我克服我所犯的错误吗?

考虑使用,过滤的艺术价值比原始表格少一个。为客户端的每个艺术项目添加一个新的自连接表

SELECT v1.CLIENT, v1.ART, v1.MONTH1, v1.MONTH2, v1.MONTH3, 
       v2.ART As ART_2, v2.MONTH1 As MONTH1_2, v2.MONTH2 As MONTH2_2, 
       v2.MONTH3 As MONTH3_2    
FROM ventad AS v1
INNER JOIN ventad As v2
ON v1.CLIENT = v2.CLIENT
WHERE v1.ART = v2.ART - 1
ORDER BY v1.CLIENT, v1.ART;