Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Verificar contenido de un campo (https://www.clubdelphi.com/foros/showthread.php?t=81460)

GustavoCruz 16-11-2012 08:58:19

Verificar contenido de un campo
 
Hola amigos del foro, es posible ingresar una sere de datos en un campo y luego verificar de la siguiente manera:

Código SQL [-]
select * from latabla where lo_que_busco in (el_campo_que_contiene_datos)

la cosa es que necesito crear una tabla que va a contener una serie de datos variables y pensé en esa descabellada :rolleyes: idea, ejemplo:

Código SQL [-]
create table tabla_programa(
  codigo integer primary key,
  descripcion varchar(100),
  sexo varchar(1),
  poblacion varchar(50)  
)

entonces en el campo poblacion (ser refiere a edades) pienso meter algo como esto: 45,50,55,60,65,70
y luego hacer la consulta descrita arriba; no se si me hago entender...

o si se puede de algún otro modo, agradezco sugerencias

Gracias de antemano por vuestro tiempo


Gustavo Cruz

Casimiro Notevi 16-11-2012 10:03:45

Prueba con containing, creo que puede servirte.

ecfisa 16-11-2012 10:04:22

Hola Gustavo.

En Firebird podrías hacer:
Código SQL [-]
SELECT * FROM LA_TABLA WHERE POSITION(:BUSCADO, EL_CAMPO) <> 0
Pero creo que es mejor crear otra tabla para las edades y relacionarla mediante un campo con la primer tabla.

Por ejemplo, supongamos que tenemos:
Código SQL [-]
CREATE TABLE TABLA(
  ID INTEGER NOT NULL,
  DESCRIPCION VARCHA(100),
  ...
)

CREATE TABLE EDADES(
  ...
  EDAD VARCHAR(3),
  TABLA_ID INTEGER NOT NULL,
  ...
)

Para consultar los registros de TABLA que poseen determinada edad:
Código SQL [-]
SELECT DISTINCT T1.DESCRIPCION, T1.SEXO, T2.EDAD
FROM TABLA T1, EDADES T2
WHERE T1.ID = T2.TABLA_ID
  AND T2.EDAD = :PEDAD

Saludos.

ecfisa 16-11-2012 10:07:39

Cita:

Empezado por Casimiro Notevi (Mensaje 449667)
Prueba con containing, creo que puede servirte.

+1
De esa me olvidé... :)

GustavoCruz 16-11-2012 13:18:39

Hola amigos,

Ya probé la opcion de containing, pero no se amolda a lo que quiero y había pensado en crear una tabla auxiliar para ingresar lo de las edades.

Mil gracias por sus comentarios.

Quizas halla alguna manera :rolleyes: !!!!

fjcg02 16-11-2012 14:06:06

Hola,

No lo he probado pero tendría que funcionar esto

Código SQL [-]
select * from latabla where lo_que_busco in (el_campo_que_contiene_datos)

Código SQL [-]
select * from latabla where lo_que_busco in [50,55,60,75]
cuando el campo lo_que_busco es numéricos

Código SQL [-]
select * from latabla where lo_que_busco in ['50','55','60','75']
cuando el campo lo_que_busco es alfanumérico

Por lo tanto tendrías que tenerlo en cuenta para que no te de error de sintaxis.

Prueba y dinos qué resultado obtienes.

Saludos


La franja horaria es GMT +2. Ahora son las 06:34:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi