第一列中的記錄可以是另一種型別(1.1,1.2),為了簡化示例,只取 2。
SELECT com.NombrePuntoEntrega as Comedor,
a.NombreArea,
SUM(s.CantidadRaciones) as Cantidad
FROM PPA_SolicitudRaciones c inner join
PPA_SolicitudRacionesDET S on c.IdSolicitud =s.IdSolicitud and s.IdLocalidad =c.IdLocalidad
INNER JOIN PPA_AREAS A ON A.IDLOCALIDAD=S.IDLOCALIDAD and a.IdArea =s.IdArea
INNER JOIN PPA_PuntosEntrega com on com.IdLocalidad =s.IdLocalidad and com.IdPuntoEntrega =s.IdPuntoEntrega
WHERE (s.IdLocalidad =@IdLocalidad or @IdLocalidad =0)
AND (s.IdArea =@IdArea or @IdArea =0)
AND (c.FechaPedido between @FechaDel and @FechaAl or @FechaDel ='1900.01.01' )
AND (c.IdTipoComida =@TipoComida or @TipoComida=0)
GROUP BY com.NombrePuntoEntrega, a.NombreArea
電流輸出:
| 喜劇演員 | 名詞區 | 候選人 |
|---|---|---|
| 1.1 | 應用 | 200 |
| 1.2 | 應用 | 300 |
| 1.1 | 阿蘭達諾斯 | 1000 |
| 1.1 | 帕爾托 | 20 |
| 1.2 | 帕爾托 | 30 |
預期輸出:將第一行分組,然后翻轉其他列。在“cantidad”列沒有記錄的地方放置一個 0。
| 喜劇演員 | 應用 | 阿蘭達諾斯 | 帕爾托 |
|---|---|---|---|
| 1.1 | 200 | 1000 | 20 |
| 1.2 | 300 | 0 | 30 |
uj5u.com熱心網友回復:
為什么不是條件聚合
SELECT Comedor = com.NombrePuntoEntrega
,APLICACIONES = SUM(case when a.NombreArea = 'APLICACIONES' then s.CantidadRaciones else 0 end)
,ARANDANOS = SUM(case when a.NombreArea = 'ARANDANOS' then s.CantidadRaciones else 0 end)
,PALTO = SUM(case when a.NombreArea = 'PALTO' then s.CantidadRaciones else 0 end)
FROM PPA_SolicitudRaciones c inner join
PPA_SolicitudRacionesDET S on c.IdSolicitud =s.IdSolicitud and s.IdLocalidad =c.IdLocalidad
INNER JOIN PPA_AREAS A ON A.IDLOCALIDAD=S.IDLOCALIDAD and a.IdArea =s.IdArea
INNER JOIN PPA_PuntosEntrega com on com.IdLocalidad =s.IdLocalidad and com.IdPuntoEntrega =s.IdPuntoEntrega
WHERE (s.IdLocalidad =@IdLocalidad or @IdLocalidad =0)
AND (s.IdArea =@IdArea or @IdArea =0)
AND (c.FechaPedido between @FechaDel and @FechaAl or @FechaDel ='1900.01.01' )
AND (c.IdTipoComida =@TipoComida or @TipoComida=0)
GROUP BY com.NombrePuntoEntrega
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/483420.html
上一篇:MicrosoftSQLServer安裝錯誤(PArrotOS)
下一篇:使用Sql填充缺失的宿舍
