![]() |
Sentencia para dar la vuelta COLUMNAS a FILAS Saludos señores de este foro, Por favor, alguna persona me podria ayudar indicándome una forma de dar la vuelta las COLUMNAS EN FILAS (via SQL) de una tabla?? El bloque A es como actualmente tengo los resultados de un SELECT, y quisiera tenerlo de la forma del bloque B. Si supiera la urgencia que tengo de hacer este artificio para presentar a Gerencia.. :si: Bloque A) Cultivo____Ventas____CarteraTotal_____CarteraMayor Banano____10_______15_____________18 Arroz______20_______24.2___________28.69 Flores_____30_______37.2___________31.1 Maíz______40_______45.6___________49.2 Bloque B) Cultivo___________Banano__Arroz____Flores___Maiz VENTAS____________10______20_______30______40 CARTERATOTAL____ 15______24.2_____37.2____45.6 CARTERAMAYOR____18______28.69____31.1____49.2 Le estoy viendo demasiado complejo con la sentencia PIVOT, por eso acudo a Uds. Agradezco nuevamente la ayuda que me pueda brindar... Saludos, Luis |
Re: Sentencia para dar la vuelta COLUMNAS a FILAS Si hablamos de SQL Server 2000 SELECT SUM(CASE WHEN Cultivo = 'Banano' THEN ImporteVenta END) as Banano, SUM(CASE WHEN Cultivo = 'Arroz' THEN ImporteVenta END) as Arroz, SUM(CASE WHEN Cultivo = 'Flores' THEN ImporteVenta END) as Flores, SUM(CASE WHEN Cultivo = 'Maiz' THEN ImporteVenta END) as Maiz Si fuera 2005, entonces revisa la instruccion PIVOT. |
Re: Sentencia para dar la vuelta COLUMNAS a FILAS Amigo IISLAS le agradezco por ayudarme, pero al tratar de hacer con PIVOTE le veo una dificultad, porque mas o menos me queda algo asi.. SELECT 'Cultivo', ..... FROM ( SELECT Cultivo, VENTAS, CARTERATOTAL CARTERAMAYORXDIAS FROM @Tbl_Resultado )v PIVOT ( SUM(???) IN .... Qué campo iría para la sumatoria porque en mi select no traigo uno que diga cantidad, ya que anteriormente mi tabla la formé en base a funciones De algo mas o menos asi.. select @VL_IdTipoCultivo=Codigo from @Tbl_Cultivo where Sec=@Con INSERT INTO @Tbl_Resultado (Cultivo,VENTAS,CARTERATOTAL,CARTERAMAYORXDIAS) select 'Cultivo'=Sige_Catalogo.dbo.Ctl_F_ConDesCatalogo(3 15,@VL_IdTipoCultivo), 'VENTAS'=isnull(Sige_Facturacion.dbo.Fac_F_GetVent asPorCultivo(0,@PI_Fecha,@VL_IdTipoCultivo),0), 'CARTERATOTAL'=isnull(sige_CuentasxCobrar.dbo.Cxc_ F_MostrarCarteraXCobrar(0,@PI_Fecha,0, @VL_IdTipoCultivo) ,0), --Aqui se trae toda la cartera, pero de un Cultivo especifico 'CARTERAMAYORXDIAS'=isnull(sige_CuentasxCobrar.dbo .Cxc_F_MostrarCarteraXCobrar(0,@PI_Fecha,56, @VL_IdTipoCultivo) ,0) --Aqui se trae toda la cartera, pero de un Cultivo especifico set @Con=@Con+1 Alguna sugerencia amigo? Atte, Luis |
Re: Sentencia para dar la vuelta COLUMNAS a FILAS ¿Es SQL Server 2005 su motor de base de datos? |
| La zona horaria es GMT -6. Ahora son las 08:19. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.