Programación
No te pierdas ningún tema nuevo, hacé click en Me gusta
Access a SQL Server
En el foro de Programación
| |
| Hola usuarios, primero que todo, gracias por darse el tiempo de leer mi pregunta. Les cuento, estoy viendo un proceso dentro de la empresa en la cual trabajo, y tengo un problema al momento de pasar un if construido en access (el cual está validado en un 100%) a SQL server 2008, ya que como en este no se puede usar la Sentencia IF, tengo problemas al momento de pasarlo al CASE, pues al momento de ejecutar la misma consulta en ambos programas, los datos obtenidos no son los mismos, y realmente nosé dónde puede estar el error para que ambas tablas me den iguales... ojalá pudiesen ayudarme, adjuntaré ambos códigos con la esperanza de poder encontrar respuestas: CÓDIGO ACCESS: SELECT [Base].[ID], ([Base].[FACT]-[Base].[FANT]) AS Periodo, ([Base].[FIS_KWH_BSE]+[Base].[FIS_KWH_INV])/Periodo AS Dia_KWH, IIf([FANT]<=40756 And [FACT]>40756 And [FANT]<=40786 And [FACT]>40786,Dia_KWH*(Day(40786)), IIf([FANT]<=40756 And [FACT]>40756,Dia_KWH*([FACT]-40756), IIf([FANT]<=40786 And [FACT]>40786,Dia_KWH*(40786-[FANT]+1), IIf([FANT]>40756 And [FACT]>40756 And [FANT]<40786 And [FACT]<=40786,Dia_KWH*Periodo,0)))) AS Ago_11_KWH, IIf([FANT]<=40787 And [FACT]>40787 And [FANT]<=40816 And [FACT]>40816,Dia_KWH*(Day(40816)),IIf([FANT]<=40787 And [FACT]>40787,Dia_KWH*([FACT]-40787),IIf([FANT]<=40816 And [FACT]>40816,Dia_KWH*(40816-[FANT]+1),IIf([FANT]>40787 And [FACT]>40787 And [FANT]<40816 And [FACT]<=40816,Dia_KWH*Periodo,0)))) AS Sep_11_KWH, IIf([FANT]<=40817 And [FACT]>40817 And [FANT]<=40847 And [FACT]>40847,Dia_KWH*(Day(40847)),IIf([FANT]<=40817 And [FACT]>40817,Dia_KWH*([FACT]-40817),IIf([FANT]<=40847 And [FACT]>40847,Dia_KWH*(40847-[FANT]+1),IIf([FANT]>40817 And [FACT]>40817 And [FANT]<40847 And [FACT]<=40847,Dia_KWH*Periodo,0)))) AS Oct_11_KWH, IIf([FANT]<=40848 And [FACT]>40848 And [FANT]<=40877 And [FACT]>40877,Dia_KWH*(Day(40877)),IIf([FANT]<=40848 And [FACT]>40848,Dia_KWH*([FACT]-40848),IIf([FANT]<=40877 And [FACT]>40877,Dia_KWH*(40877-[FANT]+1),IIf([FANT]>40848 And [FACT]>40848 And [FANT]<40877 And [FACT]<=40877,Dia_KWH*Periodo,0)))) AS Nov_11_KWH, IIf([FANT]<=40878 And [FACT]>40878 And [FANT]<=40908 And [FACT]>40908,Dia_KWH*(Day(40908)),IIf([FANT]<=40878 And [FACT]>40878,Dia_KWH*([FACT]-40878),IIf([FANT]<=40908 And [FACT]>40908,Dia_KWH*(40908-[FANT]+1),IIf([FANT]>40878 And [FACT]>40878 And [FANT]<40908 And [FACT]<=40908,Dia_KWH*Periodo,0)))) AS Dic_11_KWH, IIf([FANT] <= 40909 and [FACT] > 40909,IIf([FANT] < 40939 and [FACT] >= 40939, Dia_KWH * (Day(40939)), Dia_KWH * ([FACT] - 40909)),IIf([FANT] <= 40939 and [FACT] > 40939, IIf([FANT] > 40909 and [FACT] > 40909, Dia_KWH * Periodo, Dia_KWH * (40939 - [FANT] + 1)), 0)) AS Ene_11_KWH FROM Base WHERE ((([Base].[NIS]) Not In (3032208,3032209,3032210,3032211,3032212,3032213,3 032214,3032216,3032217,3032218,3032219,3032220,303 2221,3032222,3032223,3032224,3032226,3039437))) And [base].[imp_transf]<>0; CÓDIGO SQL: /*0_energia_base*/ declare @fecha_inicio1 datetime, @fecha_fin1 datetime declare @fecha_inicio2 datetime, @fecha_fin2 datetime declare @fecha_inicio3 datetime, @fecha_fin3 datetime declare @fecha_inicio4 datetime, @fecha_fin4 datetime declare @fecha_inicio5 datetime, @fecha_fin5 datetime declare @fecha_inicio datetime, @fecha_fin datetime set @fecha_inicio='20120101' set @fecha_fin='20120131' set @fecha_inicio1='20111201' set @fecha_fin1='20111231' set @fecha_inicio2='20111101' set @fecha_fin2='20111130' set @fecha_inicio3='20111001' set @fecha_fin3='20111031' set @fecha_inicio4='20110901' set @fecha_fin4='20110930' set @fecha_inicio5='20110801' set @fecha_fin5='20110831' SELECT b.[ID], /* IF (convert(datetime,b.[FANT])<=@fecha_inicio5 And convert(datetime, b.[FACT])>@fecha_inicio5 And convert(datetime,b.[FANT])<=@fecha_fin5 And convert(datetime, b.[FACT])>@fecha_fin5, BEGIN ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day(@fecha_fin5)),0) END */ (case when convert(datetime,b.[FANT])<=@fecha_inicio5 And convert(datetime, b.[FACT])>@fecha_inicio5 And convert(datetime,b.[FANT])<=@fecha_fin5 And convert(datetime, b.[FACT])>@fecha_fin5 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day(@fecha_fin5)) when convert(datetime,b.[FANT])<=@fecha_inicio5 And convert(datetime, b.[FACT])>@fecha_inicio5 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,convert(datetime, b.[FACT])-@fecha_inicio5)) when convert(datetime,b.[FANT])<=@fecha_fin5 And convert(datetime, b.[FACT])>@fecha_fin5 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,@fecha_fin5-dateadd(day,1,convert(datetime,b.[FANT])))) when convert(datetime,b.[FANT])>@fecha_inicio5 And convert(datetime, b.[FACT])>@fecha_inicio5 And convert(datetime,b.[FANT])<@fecha_fin5 And convert(datetime, b.[FACT])<=@fecha_fin5 then (convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV])) else 0 end)as Mes_1, (case when convert(datetime,b.[FANT])<=@fecha_inicio4 And convert(datetime, b.[FACT])>@fecha_inicio4 And convert(datetime,b.[FANT])<=@fecha_fin4 And convert(datetime, b.[FACT])>@fecha_fin4 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day(@fecha_fin4)) when convert(datetime,b.[FANT])<=@fecha_inicio4 And convert(datetime, b.[FACT])>@fecha_inicio4 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,convert(datetime, b.[FACT])-@fecha_inicio4)) when convert(datetime,b.[FANT])<=@fecha_fin4 And convert(datetime, b.[FACT])>@fecha_fin4 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,@fecha_fin4-dateadd(day,1,convert(datetime,b.[FANT])))) when convert(datetime,b.[FANT])>@fecha_inicio4 And convert(datetime, b.[FACT])>@fecha_inicio4 And convert(datetime,b.[FANT])<@fecha_fin4 And convert(datetime, b.[FACT])<=@fecha_fin4 then (convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV])) else 0 end)as Mes_2, (case when convert(datetime,b.[FANT])<=@fecha_inicio3 And convert(datetime, b.[FACT])>@fecha_inicio3 And convert(datetime,b.[FANT])<=@fecha_fin3 And convert(datetime, b.[FACT])>@fecha_fin3 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day(@fecha_fin3)) when convert(datetime,b.[FANT])<=@fecha_inicio3 And convert(datetime, b.[FACT])>@fecha_inicio3 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,convert(datetime, b.[FACT])-@fecha_inicio3)) when convert(datetime,b.[FANT])<=@fecha_fin3 And convert(datetime, b.[FACT])>@fecha_fin3 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,@fecha_fin3-dateadd(day,1,convert(datetime,b.[FANT])))) when convert(datetime,b.[FANT])>@fecha_inicio3 And convert(datetime, b.[FACT])>@fecha_inicio3 And convert(datetime,b.[FANT])<@fecha_fin3 And convert(datetime, b.[FACT])<=@fecha_fin3 then (convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV])) else 0 end)as Mes_3, (case when convert(datetime,b.[FANT])<=@fecha_inicio2 And convert(datetime, b.[FACT])>@fecha_inicio2 And convert(datetime,b.[FANT])<=@fecha_fin2 And convert(datetime, b.[FACT])>@fecha_fin2 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day(@fecha_fin2)) when convert(datetime,b.[FANT])<=@fecha_inicio2 And convert(datetime, b.[FACT])>@fecha_inicio2 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,convert(datetime, b.[FACT])-@fecha_inicio2)) when convert(datetime,b.[FANT])<=@fecha_fin2 And convert(datetime, b.[FACT])>@fecha_fin2 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,@fecha_fin2-dateadd(day,1,convert(datetime,b.[FANT])))) when convert(datetime,b.[FANT])>@fecha_inicio2 And convert(datetime, b.[FACT])>@fecha_inicio2 And convert(datetime,b.[FANT])<@fecha_fin2 And convert(datetime, b.[FACT])<=@fecha_fin2 then (convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV])) else 0 end)as Mes_4, (case when convert(datetime,b.[FANT])<=@fecha_inicio1 And convert(datetime, b.[FACT])>@fecha_inicio1 And convert(datetime,b.[FANT])<=@fecha_fin1 And convert(datetime, b.[FACT])>@fecha_fin1 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day(@fecha_fin1)) when convert(datetime,b.[FANT])<=@fecha_inicio1 And convert(datetime, b.[FACT])>@fecha_inicio1 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,convert(datetime, b.[FACT])-@fecha_inicio1)) when convert(datetime,b.[FANT])<=@fecha_fin1 And convert(datetime, b.[FACT])>@fecha_fin1 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,@fecha_fin1-dateadd(day,1,convert(datetime,b.[FANT])))) when convert(datetime,b.[FANT])>@fecha_inicio1 And convert(datetime, b.[FACT])>@fecha_inicio1 And convert(datetime,b.[FANT])<@fecha_fin1 And convert(datetime, b.[FACT])<=@fecha_fin1 then (convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV])) else 0 end)as Mes_5, (case when convert(datetime,b.[FANT])<=(dateadd(month,0, @fecha_inicio)) And convert(datetime, b.[FACT])>(dateadd(month,0, @fecha_inicio)) And convert(datetime,b.[FANT])<=(dateadd(month,0, @fecha_fin)) And convert(datetime, b.[FACT])>(dateadd(month,0, @fecha_fin))then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day((dateadd(month,0, @fecha_fin)))) when convert(datetime,b.[FANT])<=(dateadd(month,0, @fecha_inicio)) And convert(datetime, b.[FACT])>(dateadd(month,0, @fecha_inicio)) then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,convert(datetime, b.[FACT])-(dateadd(month,0, @fecha_inicio)))) when convert(datetime,b.[FANT])<=(dateadd(month,0, @fecha_fin)) And convert(datetime, b.[FACT])>(dateadd(month,0, @fecha_fin)) then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,(dateadd(month,0, @fecha_fin))-dateadd(day,1,convert(datetime,b.[FANT])))) when convert(datetime,b.[FANT])>(dateadd(month,0, @fecha_inicio)) And convert(datetime, b.[FACT])>(dateadd(month,0, @fecha_inicio)) And convert(datetime,b.[FANT])<(dateadd(month,0, @fecha_fin)) And convert(datetime, b.[FACT])<=(dateadd(month,0, @fecha_fin))then (convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV])) else 0 end)as Mes_6 into #0_energia_base_rec35 FROM dbo.Base_historica b WHERE (((convert(float,b.[NIS])) Not In (3032208,3032209,3032210,3032211,3032212,3032213,3 032214,3032216,3032217,3032218,3032219,3032220,303 2221,3032222,3032223,3032224,3032226,3039437))) And convert(float,b.[imp_transf])<>0 --select * from #0_energia_base_rec35 order by ID SELECT b.[ID], (case when convert(datetime,b.[FANT])<=@fecha_inicio5 And convert(datetime, b.[FACT])>@fecha_inicio5 And convert(datetime,b.[FANT])<=@fecha_fin5 And convert(datetime, b.[FACT])>@fecha_fin5 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day(@fecha_fin5)) when convert(datetime,b.[FANT])<=@fecha_inicio5 And convert(datetime, b.[FACT])>@fecha_inicio5 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,convert(datetime, b.[FACT])-@fecha_inicio5)) when convert(datetime,b.[FANT])<=@fecha_fin5 And convert(datetime, b.[FACT])>@fecha_fin5 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,@fecha_fin5-dateadd(day,1,convert(datetime,b.[FANT])))) when convert(datetime,b.[FANT])>@fecha_inicio5 And convert(datetime, b.[FACT])>@fecha_inicio5 And convert(datetime,b.[FANT])<@fecha_fin5 And convert(datetime, b.[FACT])<=@fecha_fin5 then (convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV])) else 0 end)as Mes_1, (case when convert(datetime,b.[FANT])<=@fecha_inicio4 And convert(datetime, b.[FACT])>@fecha_inicio4 And convert(datetime,b.[FANT])<=@fecha_fin4 And convert(datetime, b.[FACT])>@fecha_fin4 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day(@fecha_fin4)) when convert(datetime,b.[FANT])<=@fecha_inicio4 And convert(datetime, b.[FACT])>@fecha_inicio4 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,convert(datetime, b.[FACT])-@fecha_inicio4)) when convert(datetime,b.[FANT])<=@fecha_fin4 And convert(datetime, b.[FACT])>@fecha_fin4 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,@fecha_fin4-dateadd(day,1,convert(datetime,b.[FANT])))) when convert(datetime,b.[FANT])>@fecha_inicio4 And convert(datetime, b.[FACT])>@fecha_inicio4 And convert(datetime,b.[FANT])<@fecha_fin4 And convert(datetime, b.[FACT])<=@fecha_fin4 then (convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV])) else 0 end)as Mes_2, (case when convert(datetime,b.[FANT])<=@fecha_inicio3 And convert(datetime, b.[FACT])>@fecha_inicio3 And convert(datetime,b.[FANT])<=@fecha_fin3 And convert(datetime, b.[FACT])>@fecha_fin3 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day(@fecha_fin3)) when convert(datetime,b.[FANT])<=@fecha_inicio3 And convert(datetime, b.[FACT])>@fecha_inicio3 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,convert(datetime, b.[FACT])-@fecha_inicio3)) when convert(datetime,b.[FANT])<=@fecha_fin3 And convert(datetime, b.[FACT])>@fecha_fin3 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,@fecha_fin3-dateadd(day,1,convert(datetime,b.[FANT])))) when convert(datetime,b.[FANT])>@fecha_inicio3 And convert(datetime, b.[FACT])>@fecha_inicio3 And convert(datetime,b.[FANT])<@fecha_fin3 And convert(datetime, b.[FACT])<=@fecha_fin3 then (convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV])) else 0 end)as Mes_3, (case when convert(datetime,b.[FANT])<=@fecha_inicio2 And convert(datetime, b.[FACT])>@fecha_inicio2 And convert(datetime,b.[FANT])<=@fecha_fin2 And convert(datetime, b.[FACT])>@fecha_fin2 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day(@fecha_fin2)) when convert(datetime,b.[FANT])<=@fecha_inicio2 And convert(datetime, b.[FACT])>@fecha_inicio2 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,convert(datetime, b.[FACT])-@fecha_inicio2)) when convert(datetime,b.[FANT])<=@fecha_fin2 And convert(datetime, b.[FACT])>@fecha_fin2 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,@fecha_fin2-dateadd(day,1,convert(datetime,b.[FANT])))) when convert(datetime,b.[FANT])>@fecha_inicio2 And convert(datetime, b.[FACT])>@fecha_inicio2 And convert(datetime,b.[FANT])<@fecha_fin2 And convert(datetime, b.[FACT])<=@fecha_fin2 then (convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV])) else 0 end)as Mes_4, (case when convert(datetime,b.[FANT])<=@fecha_inicio1 And convert(datetime, b.[FACT])>@fecha_inicio1 And convert(datetime,b.[FANT])<=@fecha_fin1 And convert(datetime, b.[FACT])>@fecha_fin1 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day(@fecha_fin1)) when convert(datetime,b.[FANT])<=@fecha_inicio1 And convert(datetime, b.[FACT])>@fecha_inicio1 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,convert(datetime, b.[FACT])-@fecha_inicio1)) when convert(datetime,b.[FANT])<=@fecha_fin1 And convert(datetime, b.[FACT])>@fecha_fin1 then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,@fecha_fin1-dateadd(day,1,convert(datetime,b.[FANT])))) when convert(datetime,b.[FANT])>@fecha_inicio1 And convert(datetime, b.[FACT])>@fecha_inicio1 And convert(datetime,b.[FANT])<@fecha_fin1 And convert(datetime, b.[FACT])<=@fecha_fin1 then (convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV])) else 0 end)as Mes_5, (case when convert(datetime,b.[FANT])<=(dateadd(month,0, @fecha_inicio)) And convert(datetime, b.[FACT])>(dateadd(month,0, @fecha_inicio)) And convert(datetime,b.[FANT])<=(dateadd(month,0, @fecha_fin)) And convert(datetime, b.[FACT])>(dateadd(month,0, @fecha_fin))then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(Day((dateadd(month,0, @fecha_fin)))) when convert(datetime,b.[FANT])<=(dateadd(month,0, @fecha_inicio)) And convert(datetime, b.[FACT])>(dateadd(month,0, @fecha_inicio)) then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,convert(datetime, b.[FACT])-(dateadd(month,0, @fecha_inicio)))) when convert(datetime,b.[FANT])<=(dateadd(month,0, @fecha_fin)) And convert(datetime, b.[FACT])>(dateadd(month,0, @fecha_fin)) then ((convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV]))/convert(float,(convert(datetime,b.[FACT])-convert(datetime,b.[FANT]))))*(convert(float,(dateadd(month,0, @fecha_fin))-dateadd(day,1,convert(datetime,b.[FANT])))) when convert(datetime,b.[FANT])>(dateadd(month,0, @fecha_inicio)) And convert(datetime, b.[FACT])>(dateadd(month,0, @fecha_inicio)) And convert(datetime,b.[FANT])<(dateadd(month,0, @fecha_fin)) And convert(datetime, b.[FACT])<=(dateadd(month,0, @fecha_fin))then (convert(float,b.[FIS_KWH_BSE])+convert(float,b.[FIS_KWH_INV])) else 0 end)as Mes_6 into #0_energia_base_datos FROM dbo.Base_historica b WHERE (((convert(float,b.[NIS])) Not In (3032208,3032209,3032210,3032211,3032212,3032213,3 032214,3032216,3032217,3032218,3032219,3032220,303 2221,3032222,3032223,3032224,3032226,3039437))) --select * from #0_energia_base_datos Eso es la comparación que estoy haciendo, y como dije anteriormente no puedo encontrar el error, ojalá puedan ayudarme muchas Gracias |
1 Comentarios
| |
| Podés emplear el SQL estándar. Eso lo aceptan todas las bases de datos. Pero si lo que querés es migrar una BD a otra, podés seguir este tutorial: http://support.microsoft.com/kb/237980/es |
| Herramientas | |
| |