Como trasladar esta consulta a SQL para que se ejecute ?

22/05/2006 - 20:29 por Carlitos | Informe spam
la consulta realizada en access es esta, pero no se como convertir los dos
Iff a una consulta de Sqlserver.

SELECT tblRecEmitidos.Contaplus_Emision, tblRecEmitidos.Contaplus_Cobro,
tblRecEmitidos.Contaplus_Cobrado, tblRecEmitidos.Contaplus_CD,
tblRecEmitidos.Perdida, CLIENTES.[Razon Social],
IIf([Contaplus_Emision]=True,"Emitido","No Emitido") AS EMISIONES,
IIf([Contaplus_Cobro]=True Or
[Contaplus_Cobrado]=True,"Cobrado","Pendiente") AS COBROS
FROM Tipos INNER JOIN (tblRecEmitidos INNER JOIN CLIENTES ON
tblRecEmitidos.IdCliente = CLIENTES.IdCliente) ON Tipos.IdTipo =
CLIENTES.IdTipo;

Gracias por vuestra ayuda

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
22/05/2006 - 20:52 | Informe spam
Carlitos,

Puedes usar la expresion "case".

IIf([Contaplus_Emision]=True,"Emitido","No Emitido") AS EMISIONES,



case when [Contaplus_Emision] = -1 then 'Emitido' else 'No Emitido' end AS
EMISIONES

IIf([Contaplus_Cobro]=True Or
[Contaplus_Cobrado]=True,"Cobrado","Pendiente") AS COBROS



case when [Contaplus_Cobro]=-1 or [Contaplus_Cobrado]=-1 then 'Cobrado' else
'Pendiente' end as COBROS


AMB
"Carlitos" wrote:

la consulta realizada en access es esta, pero no se como convertir los dos
Iff a una consulta de Sqlserver.

SELECT tblRecEmitidos.Contaplus_Emision, tblRecEmitidos.Contaplus_Cobro,
tblRecEmitidos.Contaplus_Cobrado, tblRecEmitidos.Contaplus_CD,
tblRecEmitidos.Perdida, CLIENTES.[Razon Social],
IIf([Contaplus_Emision]=True,"Emitido","No Emitido") AS EMISIONES,
IIf([Contaplus_Cobro]=True Or
[Contaplus_Cobrado]=True,"Cobrado","Pendiente") AS COBROS
FROM Tipos INNER JOIN (tblRecEmitidos INNER JOIN CLIENTES ON
tblRecEmitidos.IdCliente = CLIENTES.IdCliente) ON Tipos.IdTipo =
CLIENTES.IdTipo;

Gracias por vuestra ayuda



Respuesta Responder a este mensaje
#2 Carlitos
22/05/2006 - 22:17 | Informe spam
Gracias Alejandro, pero tengo dudas de como construir la SELECT,

gracias.



"Alejandro Mesa" escribió en el
mensaje news:
Carlitos,

Puedes usar la expresion "case".

IIf([Contaplus_Emision]=True,"Emitido","No Emitido") AS EMISIONES,



case when [Contaplus_Emision] = -1 then 'Emitido' else 'No Emitido' end AS
EMISIONES

IIf([Contaplus_Cobro]=True Or
[Contaplus_Cobrado]=True,"Cobrado","Pendiente") AS COBROS



case when [Contaplus_Cobro]=-1 or [Contaplus_Cobrado]=-1 then 'Cobrado'
else
'Pendiente' end as COBROS


AMB
"Carlitos" wrote:

la consulta realizada en access es esta, pero no se como convertir los
dos
Iff a una consulta de Sqlserver.

SELECT tblRecEmitidos.Contaplus_Emision, tblRecEmitidos.Contaplus_Cobro,
tblRecEmitidos.Contaplus_Cobrado, tblRecEmitidos.Contaplus_CD,
tblRecEmitidos.Perdida, CLIENTES.[Razon Social],
IIf([Contaplus_Emision]=True,"Emitido","No Emitido") AS EMISIONES,
IIf([Contaplus_Cobro]=True Or
[Contaplus_Cobrado]=True,"Cobrado","Pendiente") AS COBROS
FROM Tipos INNER JOIN (tblRecEmitidos INNER JOIN CLIENTES ON
tblRecEmitidos.IdCliente = CLIENTES.IdCliente) ON Tipos.IdTipo >> CLIENTES.IdTipo;

Gracias por vuestra ayuda



Respuesta Responder a este mensaje
#3 BitOne®
23/05/2006 - 05:28 | Informe spam
Seria algo parecido a esto:

SELECT tblRecEmitidos.Contaplus_Emision,
tblRecEmitidos.Contaplus_Cobro,
tblRecEmitidos.Contaplus_Cobrado,
tblRecEmitidos.Contaplus_CD,
tblRecEmitidos.Perdida, CLIENTES.[Razon Social],
CASE
WHEN Contaplus_Emision = TRUE THEN 'EMITIDO'
WHEN Contaplus_Emision = FALSE THEN 'NO EMITIDO'
END EMISIONES,
CASE
WHEN (Contaplus_Cobro = TRUE )OR (Contaplus_Cobrado = TRUE) THEN 'Cobrado'
ELSE 'Pendiente'
END COBROS


FROM Tipos INNER JOIN (SELECT *
FROM tblRecEmitidos
INNER JOIN
CLIENTES
ON tblRecEmitidos.IdCliente =
CLIENTES.IdCliente)
ON Tipos.IdTipo = CLIENTES.IdTipo


Solo estaria pendiente de que definas tu campo contaplus_emision que valores tiene, y si el valor del campo es texto lo encierras entre comillas simple.


saludos,

BitOne®



"Carlitos" escribió en el mensaje news:
Gracias Alejandro, pero tengo dudas de como construir la SELECT,

gracias.



"Alejandro Mesa" escribió en el
mensaje news:
> Carlitos,
>
> Puedes usar la expresion "case".
>
>> IIf([Contaplus_Emision]=True,"Emitido","No Emitido") AS EMISIONES,
>
> case when [Contaplus_Emision] = -1 then 'Emitido' else 'No Emitido' end AS
> EMISIONES
>
>> IIf([Contaplus_Cobro]=True Or
>> [Contaplus_Cobrado]=True,"Cobrado","Pendiente") AS COBROS
>
> case when [Contaplus_Cobro]=-1 or [Contaplus_Cobrado]=-1 then 'Cobrado'
> else
> 'Pendiente' end as COBROS
>
>
> AMB
> "Carlitos" wrote:
>
>> la consulta realizada en access es esta, pero no se como convertir los
>> dos
>> Iff a una consulta de Sqlserver.
>>
>> SELECT tblRecEmitidos.Contaplus_Emision, tblRecEmitidos.Contaplus_Cobro,
>> tblRecEmitidos.Contaplus_Cobrado, tblRecEmitidos.Contaplus_CD,
>> tblRecEmitidos.Perdida, CLIENTES.[Razon Social],
>> IIf([Contaplus_Emision]=True,"Emitido","No Emitido") AS EMISIONES,
>> IIf([Contaplus_Cobro]=True Or
>> [Contaplus_Cobrado]=True,"Cobrado","Pendiente") AS COBROS
>> FROM Tipos INNER JOIN (tblRecEmitidos INNER JOIN CLIENTES ON
>> tblRecEmitidos.IdCliente = CLIENTES.IdCliente) ON Tipos.IdTipo > >> CLIENTES.IdTipo;
>>
>> Gracias por vuestra ayuda
>>
>>
>>


Respuesta Responder a este mensaje
#4 Alejandro Mesa
23/05/2006 - 13:59 | Informe spam
Carlitos,

Solo necesitas reemplazar la funcion IIF por la expresion CASE, el resto
permanece igual.


AMB

"Carlitos" wrote:

Gracias Alejandro, pero tengo dudas de como construir la SELECT,

gracias.



"Alejandro Mesa" escribió en el
mensaje news:
> Carlitos,
>
> Puedes usar la expresion "case".
>
>> IIf([Contaplus_Emision]=True,"Emitido","No Emitido") AS EMISIONES,
>
> case when [Contaplus_Emision] = -1 then 'Emitido' else 'No Emitido' end AS
> EMISIONES
>
>> IIf([Contaplus_Cobro]=True Or
>> [Contaplus_Cobrado]=True,"Cobrado","Pendiente") AS COBROS
>
> case when [Contaplus_Cobro]=-1 or [Contaplus_Cobrado]=-1 then 'Cobrado'
> else
> 'Pendiente' end as COBROS
>
>
> AMB
> "Carlitos" wrote:
>
>> la consulta realizada en access es esta, pero no se como convertir los
>> dos
>> Iff a una consulta de Sqlserver.
>>
>> SELECT tblRecEmitidos.Contaplus_Emision, tblRecEmitidos.Contaplus_Cobro,
>> tblRecEmitidos.Contaplus_Cobrado, tblRecEmitidos.Contaplus_CD,
>> tblRecEmitidos.Perdida, CLIENTES.[Razon Social],
>> IIf([Contaplus_Emision]=True,"Emitido","No Emitido") AS EMISIONES,
>> IIf([Contaplus_Cobro]=True Or
>> [Contaplus_Cobrado]=True,"Cobrado","Pendiente") AS COBROS
>> FROM Tipos INNER JOIN (tblRecEmitidos INNER JOIN CLIENTES ON
>> tblRecEmitidos.IdCliente = CLIENTES.IdCliente) ON Tipos.IdTipo > >> CLIENTES.IdTipo;
>>
>> Gracias por vuestra ayuda
>>
>>
>>



Respuesta Responder a este mensaje
#5 Carlitos
23/05/2006 - 19:55 | Informe spam
Gracias ahora lo pille, gracias a todos



"Carlitos" escribió en el mensaje
news:
Gracias Alejandro, pero tengo dudas de como construir la SELECT,

gracias.



"Alejandro Mesa" escribió en el
mensaje news:
Carlitos,

Puedes usar la expresion "case".

IIf([Contaplus_Emision]=True,"Emitido","No Emitido") AS EMISIONES,



case when [Contaplus_Emision] = -1 then 'Emitido' else 'No Emitido' end
AS
EMISIONES

IIf([Contaplus_Cobro]=True Or
[Contaplus_Cobrado]=True,"Cobrado","Pendiente") AS COBROS



case when [Contaplus_Cobro]=-1 or [Contaplus_Cobrado]=-1 then 'Cobrado'
else
'Pendiente' end as COBROS


AMB
"Carlitos" wrote:

la consulta realizada en access es esta, pero no se como convertir los
dos
Iff a una consulta de Sqlserver.

SELECT tblRecEmitidos.Contaplus_Emision, tblRecEmitidos.Contaplus_Cobro,
tblRecEmitidos.Contaplus_Cobrado, tblRecEmitidos.Contaplus_CD,
tblRecEmitidos.Perdida, CLIENTES.[Razon Social],
IIf([Contaplus_Emision]=True,"Emitido","No Emitido") AS EMISIONES,
IIf([Contaplus_Cobro]=True Or
[Contaplus_Cobrado]=True,"Cobrado","Pendiente") AS COBROS
FROM Tipos INNER JOIN (tblRecEmitidos INNER JOIN CLIENTES ON
tblRecEmitidos.IdCliente = CLIENTES.IdCliente) ON Tipos.IdTipo >>> CLIENTES.IdTipo;

Gracias por vuestra ayuda









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