Informix - select

 
Vista:

select

Publicado por Cecy (8 intervenciones) el 03/08/2005 00:41:02
Hola!
Oigan necesito sacar un dato de una tabla pero con base en otra, o sea tengo en una tabla nombre de los paises y en otra los paises con sus claves, tengo que agarrar de la primera tabla un pais e ir a buscarlo en la otra para sacar su clave, mi codigo es este:

let vpais = "select pais from equiva"

prepare pais2 from vpais
declare cur_sor cursor for pais2
open cur_sor

fetch cur_sor into pais.pais

let vcve = "select clave from paises where pais=pais.pais"

(aqui me marca el error de que la columna pais no se encuentra en ninguna tabla, siendo que si esta ese campo en esa tablas, por fa si alguien me puede decir donde esta mi error se lo agradeceria bastante)

prepare cve from vcve
declare cur_sor2 cursor for cve
open cur_sor2

fetch cur_sor2 into clave.clave

let fec = "02/08/05"

insert into p_vsdol values (clave.clave,fec,'1.0')

close cur_sor
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:select

Publicado por Manu (28 intervenciones) el 03/08/2005 12:04:48
Al estar haciendo la segunda select sobre una variable de tipo string no te esta cogiendo el contenido de pais.pais, sino que esta pasando directamente a la select ese texto y como la select no lee de la tabla pais sino de paises te salta el error.

Cambia:
let vcve = "select clave from paises where pais=pais.pais"
por
let vcve = "select clave from paises where pais=", pais.pais

Creo que es lo que quieres hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:select

Publicado por cecy (8 intervenciones) el 03/08/2005 16:22:39
ya hice eso pero ahora me marca un error de syntaxis en la linea de abajo:

let vcve = "select clave from paises where pais=",pais.pais

prepare cve from vcve (AQUI EN ESTA LINEA)
declare cur_sor2 cursor for cve
open cur_sor2

fetch cur_sor2 into clave.clave
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:select

Publicado por Manu (28 intervenciones) el 03/08/2005 16:36:07
Prueba a meterle un display antes de la linea que falla
display vcve
Esa linea tienes que poder ejecutarla a traves del dbaccess.
El error podria venir por el nombre de un pais con espacios entre medias (por ejemplo: el salvador). Para solucionar esto modifica la linea poniendo las comillas simples entre el dato pais.pais

let vcve = "select clave from paises where pais= '",pais.pais clipped, "'"

No se si se vera bien en esta ventana los caracteres...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:select

Publicado por cecy (8 intervenciones) el 04/08/2005 23:01:35
Ya quedo, gracias, oye q quiere decir el error:

esqlc: "ekivalencias.ec", line 109: Error -33051: Syntax error on identifier or symbol ','.
1 error(s) found

todo estaba bien hasta que agrege una llamada a una funcion q me tiene q regresar un valor me sale ese error.
me puedes ayudar?
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:select

Publicado por Manu (28 intervenciones) el 05/08/2005 16:06:24
Es un error de sintaxis. Para corregirlo tendrias que mirar el fichero ekivalencias.ec (linea 109) y posiblemente falte/sobre una , o un ;
De nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar