![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
consulta valores no consecutivos mismo campo
Buenas, necesito hacer una consulta masiva dentro del mismo campo de una tabla en sql.
El ejemplo que quería poner para entendernos sería, que la tabla llamada 'MOTIVOS' tiene dos campos: año, HechoRelevante. Quiero seleccionar 20 años de las 100 del siglo XX que yo elija no tienen que ser consecutivos, y sacar el hecho relevante de ese año elegido. Al no ser consecutivos se complica y tengo que buscar uno a uno, podía usar un ListBox que contenga esos años que yo selecciono pero tendría que usar lines1, lines2,lines3 o bien edit como pongo en el ejemplo.
La pregunta es cómo puedo usar la línea SQL, para que no se haga tan larga, he buscado en internet y en el foro y no he encontrado ningún ejemplo que me dé respuesta. |
#2
|
||||
|
||||
Para esto se usa la cláusula:
__________________
El malabarista. |
#3
|
||||
|
||||
Propuesta
Puede ser -como te lo menciona mamcx-, pero con una variante/parámetro
Lo cual el parámetro "anios", contendría una cadena como la que sigue Cita:
Ejemplo:
Y luego ejecutaría el procedimiento
Algo mas o menos asi lo haría, no tengo a la mano Delphi para probar, pero podrías intentarlo y nos dices si mas o menos te sirvio. Saludos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#4
|
|||
|
|||
En principio
Me da error y no puedo ejecutarlo Por otro lado
yo la última línea la he modificado directamente a:
y me tomaría (19251955) como si fuera un número global. He intentado los siguientes ejemplos:
Ninguno de los de arriba funciona, El único que funciona de momento, pero la cadena sería muy grande para 15 ó 20 años.
|
#5
|
|||
|
|||
Lo que te escribió roman esta bien, pero veo que tu campo es texto porque dices que te funciono esto:
Al poner "Quotedstr" le es estas diciendo a delphi que le pongas comillas simples, entonces prueba en tu consulta así:
|
#6
|
||||
|
||||
Una tercera opción es tener una segunda tabla donde se rellenen los años seleccionados.
Código:
MOTIVOS -------------------- AÑO | HECHORELEVANTE 1900 | 'AAAA' 1901 | 'BBBB' 1902 | 'CCCC' ... SELECCION -------------------- AÑO | SELECCIONADO 1900 | X 1901 | _ 1902 | X ...
De esta forma puede seleccionar solo un año o varios o todos... |
#7
|
|||
|
|||
Buenas de nuevo, y gracias en serio.
La siguiente secuencia funciona BIEN que es la que MRoman, por un lapsus dije no.
Pero el texto completo es el siguiente que no lo puse por simplificar:
Con esto puedo meter los datos filtrados en un dbgrid, stringGrid, Rave Reports, etc etc sin problemas pero al estar en unas comillas sólo puedo elegir los años (1925, 1955, etc.etc) en modo diseño y no en modo ejecucion, lo que necesitaría es meter los años en un Listbox, en una Variable u otro contenedor, y de ahí diseñar el Query para que sólo salgan los años que necesito. |
#8
|
||||
|
||||
Eso debería ser un integer...
__________________
El malabarista. |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
SELECT para encontrar registros con diferentes valores en el mismo campo | gustavosv | SQL | 12 | 17-10-2014 22:34:35 |
Consulta de un mismo campo | rufo | Varios | 10 | 16-08-2012 03:26:28 |
Consulta de valores consecutivos | Guillermosalva | SQL | 5 | 27-07-2007 08:49:15 |
Pasar un campo calculado a un campo del mismo DbGrid | maravert | Conexión con bases de datos | 3 | 12-05-2006 00:31:30 |
Campo de tabla con valores con un mismo nombre | kakesoft | Conexión con bases de datos | 14 | 28-11-2005 14:40:46 |
![]() |
|