Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Como realizar un select complejo (https://www.clubdelphi.com/foros/showthread.php?t=27856)

Nelly 01-12-2005 23:48:19

Como realizar una consulta compleja
 
Buenas tardes a todos

Necesito realizar una consulta en la base de datos(firebird), lo que pasa estoy trabajando con delphi 7 y tengo una ventana de busqueda en ella es donde deseo realizar la siguiente consulta, esta solo me sirve cuando deseo buscar a personas pertenecientes al municipio elegido(1 solo municipio):
Cita:

select * from miembros where cve_ife=:cve_ife and cve_mpo=:cve_mpo
en relación a mi codigo en delphi cuando busco por nombre y por clave IFE lo hago de esta manera:
Código:

QryLisMiembros.SQL.Add('select * from miembros where cve_mpo=:cve_mpo ');
                        QryLisMiembros.SQL.Add('and nom starting with :nombres and ');
                        QryLisMiembros.SQL.Add('appat starting with :appat and ');
                        QryLisMiembros.SQL.Add('apmat starting with :apmat ');
                        QryLisMiembros.ParamByName('cve_mpo').AsInteger:=cve_mpo;

El problema esta que cuando se da de alta a un evento pero ese evento incluye ya no un solo municipio sino varios, como hago la consulta para que respete y busque solo en esos municipios, que no me permita buscar fuera del rango de municipios establecido con anterioridad.

Me pueden ayudar con este problema, por favor. Si no fui lo suficientemente clara haganmelo saber

Ivanzinho 02-12-2005 09:59:17

puedes probar con :

Código SQL [-]
select * from miembros where cve_mpo in (lista de municipios)

Nelly 02-12-2005 16:54:52

¿A que te refieres con lista de municipios?, que si por ejemplo tengo 100 municipios los escriba todos, o no?

Cita:

Empezado por Ivanzinho
puedes probar con :

Código SQL [-]
select * from miembros where cve_mpo in (lista de municipios)


Ivanzinho 02-12-2005 18:03:18

No los puedes seleccionar de alguna forma??, si no es así igual no entendí bién la pregunta

Nelly 02-12-2005 18:43:51

Lo que pasa primero doy de alta a los municipios en un determinado evento, el cual puede contener 13 o mas municipios, el problema esta en el momento de hacer la busqueda, ya que en el codigo que mande en el primer apartado, solo se realiza la busqueda con un solo municipio. Pero ahora quiero que sean en varios municipios, pero sin salirse del rango de 13 municipios por ejemplo.

Cita:

Empezado por Ivanzinho
No los puedes seleccionar de alguna forma??, si no es así igual no entendí bién la pregunta


Paoti 03-12-2005 03:45:29

Modelo de Datos
 
Nelly. No entiendo lo que tratas de hacer.


Para poder ayudarte entre todos.

podrias poner la estructura de tus tablas.


Ya que esa es la clave para poder obtener lo que tu deseas.



¿Dónde le indicas que es de un municipio el monito o evento en el SQL?


NaCl-U2

Enan0 05-12-2005 02:31:13

Nelly si solo queres 13 registros podrias hacer un TOP 13 en el select.. igualmente estaria bueno si podes comentar algo mas sobre esto ya que no queda muy en claro que es lo que andas necesitando

FOURIER 14-12-2005 01:14:53

Espero Te Sirva
 
supongo que tambien tiene una tabla municipios para al macenar N municipios si ese es el caso puedes hacer:

select * from miembros where cve_mpo in (select municipios.cve_mpo from municipios) order bye Cve_mpo;/// ESO TE DEVOLVERÏA TODOS LOS HABITANTES DE TODOS LOS MUNICIPIOS


La franja horaria es GMT +2. Ahora son las 04:15:18.

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