consulta access a sql

18/11/2004 - 16:33 por jaime | Informe spam
hola, tengo la sgte. consulta hecha en access
INSERT INTO TEMPORAL2 SELECT Month([TB_CAB_FAC].[FECHA])
AS MES,[TB_CAB_FAC].[FECHA] AS FECHA, Sum(IIf([TEMPORAL1].
[CAN_TOT]=[TB_CAB_FAC].[CAN_TOT],[TEMPORAL1].[CAN_TOT],0))
AS CAN_TOT, TB_CAB_FAC.TIP_CAMD AS TIP_CAMD, Sum
(TB_CAB_FAC.BASE_IMP) AS BASE_IMP, Sum(TB_CAB_FAC.IGV) AS
IGV, Sum(TB_CAB_FAC.TOTAL) AS TOTAL,
TB_CAB_FAC.ESTADO ,TB_CAB_FAC.COD_EMP FROM TB_CAB_FAC LEFT
JOIN TEMPORAL1 ON (TB_CAB_FAC.COD_EMP =
TEMPORAL1.COD_EMP) AND (TB_CAB_FAC.NUM_FAC =
TEMPORAL1.NUM_FAC) WHERE TB_CAB_FAC.COD_EMP=1 GROUP BY
[TB_CAB_FAC].[FECHA],
TB_CAB_FAC.TIP_CAMD,TB_CAB_FAC.ESTADO,TB_CAB_FAC.COD_EMP
HAVING (((TB_CAB_FAC.ESTADO)='V')) ORDER BY [TB_CAB_FAC].
[FECHA]
lo quiero pasar a sql server, pero me vota error en:
IIf([TEMPORAL1].[CAN_TOT]=[TB_CAB_FAC].[CAN_TOT],
[TEMPORAL1].[CAN_TOT],0)
como puedo hacer para que esta consulta funcione bien en
sql server, esta consulta va a estar en un procedure

Preguntas similare

Leer las respuestas

#1 Eladio Rincón
18/11/2004 - 16:52 | Informe spam
Hola,
deberás reemplazar:

IIf([TEMPORAL1].[CAN_TOT]=[TB_CAB_FAC].[CAN_TOT],
[TEMPORAL1].[CAN_TOT],0)



por:

CASE
WHEN [TEMPORAL1].[CAN_TOT]=[TB_CAB_FAC].[CAN_TOT] THEN
[TEMPORAL1].[CAN_TOT]
ELSE 0
END,


Eladio Rincón
SQL Server MVP
"Comparte lo que sabes, aprende lo que no sepas", FGG

¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?
Respuesta Responder a este mensaje
#2 ulises
18/11/2004 - 16:59 | Informe spam
IIF no existe en SQL Server reemplazalo por CASE, revisa la
sintaxis en el BOL.

Saludos,
Ulises

hola, tengo la sgte. consulta hecha en access
INSERT INTO TEMPORAL2 SELECT Month([TB_CAB_FAC].[FECHA])
AS MES,[TB_CAB_FAC].[FECHA] AS FECHA, Sum(IIf([TEMPORAL1].
[CAN_TOT]=[TB_CAB_FAC].[CAN_TOT],[TEMPORAL1].[CAN_TOT],0))
AS CAN_TOT, TB_CAB_FAC.TIP_CAMD AS TIP_CAMD, Sum
(TB_CAB_FAC.BASE_IMP) AS BASE_IMP, Sum(TB_CAB_FAC.IGV) AS
IGV, Sum(TB_CAB_FAC.TOTAL) AS TOTAL,
TB_CAB_FAC.ESTADO ,TB_CAB_FAC.COD_EMP FROM TB_CAB_FAC LEFT
JOIN TEMPORAL1 ON (TB_CAB_FAC.COD_EMP =
TEMPORAL1.COD_EMP) AND (TB_CAB_FAC.NUM_FAC =
TEMPORAL1.NUM_FAC) WHERE TB_CAB_FAC.COD_EMP=1 GROUP BY
[TB_CAB_FAC].[FECHA],
TB_CAB_FAC.TIP_CAMD,TB_CAB_FAC.ESTADO,TB_CAB_FAC.COD_EMP
HAVING (((TB_CAB_FAC.ESTADO)='V')) ORDER BY [TB_CAB_FAC].
[FECHA]
lo quiero pasar a sql server, pero me vota error en:
IIf([TEMPORAL1].[CAN_TOT]=[TB_CAB_FAC].[CAN_TOT],
[TEMPORAL1].[CAN_TOT],0)
como puedo hacer para que esta consulta funcione bien en
sql server, esta consulta va a estar en un procedure
.

Respuesta Responder a este mensaje
#3 JAIME
18/11/2004 - 17:22 | Informe spam
GRACIAS POR SU REPSUESTA, ME AYUDARON BASTANTE
hola, tengo la sgte. consulta hecha en access
INSERT INTO TEMPORAL2 SELECT Month([TB_CAB_FAC].[FECHA])
AS MES,[TB_CAB_FAC].[FECHA] AS FECHA, Sum(IIf([TEMPORAL1].
[CAN_TOT]=[TB_CAB_FAC].[CAN_TOT],[TEMPORAL1].


[CAN_TOT],0))
AS CAN_TOT, TB_CAB_FAC.TIP_CAMD AS TIP_CAMD, Sum
(TB_CAB_FAC.BASE_IMP) AS BASE_IMP, Sum(TB_CAB_FAC.IGV) AS
IGV, Sum(TB_CAB_FAC.TOTAL) AS TOTAL,
TB_CAB_FAC.ESTADO ,TB_CAB_FAC.COD_EMP FROM TB_CAB_FAC


LEFT
JOIN TEMPORAL1 ON (TB_CAB_FAC.COD_EMP =
TEMPORAL1.COD_EMP) AND (TB_CAB_FAC.NUM_FAC =
TEMPORAL1.NUM_FAC) WHERE TB_CAB_FAC.COD_EMP=1 GROUP BY
[TB_CAB_FAC].[FECHA],
TB_CAB_FAC.TIP_CAMD,TB_CAB_FAC.ESTADO,TB_CAB_FAC.COD_EMP
HAVING (((TB_CAB_FAC.ESTADO)='V')) ORDER BY [TB_CAB_FAC].
[FECHA]
lo quiero pasar a sql server, pero me vota error en:
IIf([TEMPORAL1].[CAN_TOT]=[TB_CAB_FAC].[CAN_TOT],
[TEMPORAL1].[CAN_TOT],0)
como puedo hacer para que esta consulta funcione bien en
sql server, esta consulta va a estar en un procedure
.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida