IIF manda error en SQL Express ¿porque?

27/01/2006 - 18:52 por Horacio Calzada | Informe spam
Compañeros que estoy haciendo mal, estoy utilizando SQL Express 2005 en
ingles y al realizar este select memmanda un error en la función IIF
¿porque?, no se puede hacer esto en este SQL o que pasa, o esto lo tengo
que hacer desde VFox pro

Ayuda por favor

SELECT cat_reque.orden, cat_reque.cve_dir, cat_dir.descripcion AS
Direccion, cat_reque.cve_act, cat_reque.cve_meta, cat_reque.cve_reque,
cat_reque.descripcion, cat_reque.presup_o,
cat_reque.partida, IIF(cat_reque.pg1=1,'Enero','Nada'), cat_reque.pg2,
cat_reque.pg3, cat_reque.pg4, cat_reque.pg5,
cat_reque.pg6, cat_reque.pg7, cat_reque.pg8,
cat_reque.pg9, cat_reque.pg10, cat_reque.pg11, cat_reque.pg12
FROM cat_reque INNER JOIN
cat_dir ON cat_reque.cve_dir = cat_dir.cve_dir
ORDER BY cat_reque.orden, cat_reque.partida, cat_reque.cve_dir +
cat_reque.cve_act + cat_reque.cve_meta

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
27/01/2006 - 19:07 | Informe spam
Horacio,

Porque no es parte de t-sql. Debes usar la expresion "case" en vez de "iif".

select case when cat_reque.pg1=1 then 'Enero' else 'Nada' end as c1
...


AMB

"Horacio Calzada" wrote:

Compañeros que estoy haciendo mal, estoy utilizando SQL Express 2005 en
ingles y al realizar este select memmanda un error en la función IIF
¿porque?, no se puede hacer esto en este SQL o que pasa, o esto lo tengo
que hacer desde VFox pro

Ayuda por favor

SELECT cat_reque.orden, cat_reque.cve_dir, cat_dir.descripcion AS
Direccion, cat_reque.cve_act, cat_reque.cve_meta, cat_reque.cve_reque,
cat_reque.descripcion, cat_reque.presup_o,
cat_reque.partida, IIF(cat_reque.pg1=1,'Enero','Nada'), cat_reque.pg2,
cat_reque.pg3, cat_reque.pg4, cat_reque.pg5,
cat_reque.pg6, cat_reque.pg7, cat_reque.pg8,
cat_reque.pg9, cat_reque.pg10, cat_reque.pg11, cat_reque.pg12
FROM cat_reque INNER JOIN
cat_dir ON cat_reque.cve_dir = cat_dir.cve_dir
ORDER BY cat_reque.orden, cat_reque.partida, cat_reque.cve_dir +
cat_reque.cve_act + cat_reque.cve_meta


Respuesta Responder a este mensaje
#2 Juan Carlos
27/01/2006 - 19:08 | Informe spam
Hola,

no se si haya esa funcion en el sql 2005, pero en el Sql 2000 no la hay lo
que tienes que hacer es con CASE

Mas o menos asi:

Select ..., case cat_reque.pg1 when 1 then 'Enero' Else 'Nada' End,

saludos

"Horacio Calzada" escribió en el mensaje
news:
Compañeros que estoy haciendo mal, estoy utilizando SQL Express 2005 en
ingles y al realizar este select memmanda un error en la función IIF
¿porque?, no se puede hacer esto en este SQL o que pasa, o esto lo tengo
que hacer desde VFox pro

Ayuda por favor

SELECT cat_reque.orden, cat_reque.cve_dir, cat_dir.descripcion AS
Direccion, cat_reque.cve_act, cat_reque.cve_meta, cat_reque.cve_reque,
cat_reque.descripcion, cat_reque.presup_o,
cat_reque.partida, IIF(cat_reque.pg1=1,'Enero','Nada'), cat_reque.pg2,
cat_reque.pg3, cat_reque.pg4, cat_reque.pg5,
cat_reque.pg6, cat_reque.pg7, cat_reque.pg8,
cat_reque.pg9, cat_reque.pg10, cat_reque.pg11, cat_reque.pg12
FROM cat_reque INNER JOIN
cat_dir ON cat_reque.cve_dir = cat_dir.cve_dir
ORDER BY cat_reque.orden, cat_reque.partida, cat_reque.cve_dir +
cat_reque.cve_act + cat_reque.cve_meta
Respuesta Responder a este mensaje
#3 Horacio Calzada
27/01/2006 - 20:42 | Informe spam
Como ven es mi primera experiencia en SQL y como estaba acostumbrado a
usar el Select de Visual fox pro, luego, luego me tope con las
diferencias porque la verad no se que es eso de T-SQL bueno creo que
tiene que ver con transaction sql ¿?, disculpen la ingnorancia pero como
apenas estoy leyendo el BOL en ingles y como más o menos le entiendo,
pues no sabia por donde entrarle.

Gracias

Horacio Calzada escribió:

Compañeros que estoy haciendo mal, estoy utilizando SQL Express 2005 en
ingles y al realizar este select memmanda un error en la función IIF
¿porque?, no se puede hacer esto en este SQL o que pasa, o esto lo tengo
que hacer desde VFox pro

Ayuda por favor

SELECT cat_reque.orden, cat_reque.cve_dir, cat_dir.descripcion AS
Direccion, cat_reque.cve_act, cat_reque.cve_meta, cat_reque.cve_reque,
cat_reque.descripcion, cat_reque.presup_o,
cat_reque.partida, IIF(cat_reque.pg1=1,'Enero','Nada'), cat_reque.pg2,
cat_reque.pg3, cat_reque.pg4, cat_reque.pg5,
cat_reque.pg6, cat_reque.pg7, cat_reque.pg8,
cat_reque.pg9, cat_reque.pg10, cat_reque.pg11, cat_reque.pg12
FROM cat_reque INNER JOIN
cat_dir ON cat_reque.cve_dir = cat_dir.cve_dir
ORDER BY cat_reque.orden, cat_reque.partida, cat_reque.cve_dir +
cat_reque.cve_act + cat_reque.cve_meta

Respuesta Responder a este mensaje
#4 Juan Carlos
27/01/2006 - 21:24 | Informe spam
En este link te puedes bajar los BOL en español

http://www.microsoft.com/downloads/...p;FamilyID¦f79cb1-a420-445f-8a4b-bd77a7da194b

Saludos

"Horacio Calzada" escribió en el mensaje
news:
Como ven es mi primera experiencia en SQL y como estaba acostumbrado a
usar el Select de Visual fox pro, luego, luego me tope con las
diferencias porque la verad no se que es eso de T-SQL bueno creo que
tiene que ver con transaction sql ¿?, disculpen la ingnorancia pero como
apenas estoy leyendo el BOL en ingles y como más o menos le entiendo,
pues no sabia por donde entrarle.

Gracias

Horacio Calzada escribió:

Compañeros que estoy haciendo mal, estoy utilizando SQL Express 2005 en
ingles y al realizar este select memmanda un error en la función IIF
¿porque?, no se puede hacer esto en este SQL o que pasa, o esto lo tengo
que hacer desde VFox pro

Ayuda por favor

SELECT cat_reque.orden, cat_reque.cve_dir, cat_dir.descripcion AS
Direccion, cat_reque.cve_act, cat_reque.cve_meta, cat_reque.cve_reque,
cat_reque.descripcion, cat_reque.presup_o,
cat_reque.partida, IIF(cat_reque.pg1=1,'Enero','Nada'), cat_reque.pg2,
cat_reque.pg3, cat_reque.pg4, cat_reque.pg5,
cat_reque.pg6, cat_reque.pg7, cat_reque.pg8,
cat_reque.pg9, cat_reque.pg10, cat_reque.pg11, cat_reque.pg12
FROM cat_reque INNER JOIN
cat_dir ON cat_reque.cve_dir = cat_dir.cve_dir
ORDER BY cat_reque.orden, cat_reque.partida, cat_reque.cve_dir +
cat_reque.cve_act + cat_reque.cve_meta

Respuesta Responder a este mensaje
#5 Salvador Ramos
29/01/2006 - 22:38 | Informe spam
Hola,

t-sql es la abreviatura de transact-sql, que es el dialecto de sql
específico de SQL Server.

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL Server y .NET)


"Horacio Calzada" escribió en el mensaje
news:
Como ven es mi primera experiencia en SQL y como estaba acostumbrado a
usar el Select de Visual fox pro, luego, luego me tope con las
diferencias porque la verad no se que es eso de T-SQL bueno creo que
tiene que ver con transaction sql ¿?, disculpen la ingnorancia pero como
apenas estoy leyendo el BOL en ingles y como más o menos le entiendo,
pues no sabia por donde entrarle.

Gracias

Horacio Calzada escribió:

Compañeros que estoy haciendo mal, estoy utilizando SQL Express 2005 en
ingles y al realizar este select memmanda un error en la función IIF
¿porque?, no se puede hacer esto en este SQL o que pasa, o esto lo tengo
que hacer desde VFox pro

Ayuda por favor

SELECT cat_reque.orden, cat_reque.cve_dir, cat_dir.descripcion AS
Direccion, cat_reque.cve_act, cat_reque.cve_meta, cat_reque.cve_reque,
cat_reque.descripcion, cat_reque.presup_o,
cat_reque.partida, IIF(cat_reque.pg1=1,'Enero','Nada'), cat_reque.pg2,
cat_reque.pg3, cat_reque.pg4, cat_reque.pg5,
cat_reque.pg6, cat_reque.pg7, cat_reque.pg8,
cat_reque.pg9, cat_reque.pg10, cat_reque.pg11, cat_reque.pg12
FROM cat_reque INNER JOIN
cat_dir ON cat_reque.cve_dir = cat_dir.cve_dir
ORDER BY cat_reque.orden, cat_reque.partida, cat_reque.cve_dir +
cat_reque.cve_act + cat_reque.cve_meta

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