Condición en consulta de selección

27/04/2010 - 00:40 por manuel | Informe spam
Saludos al grupo.
En una tabla tengo una sucesión de registros con un campo numérico.
el primer registro contiene el número N1. Después sigue una lista numérica
cualquiera, sin repetirse N1.
N1 se repite como último elemento de la lista en el registro NN.
A continuación, el campo vale M1, y le siguen varios números sin repetir M1.
M1 se repite como último elemento de la secuencia, en el registro MM.

Mi pregunta es:
Cómo selecciono la primera secuencia, o bien la segunda secuencia?
(los registros entre N1, , NN, o bien los registros entre M1, ..., MM,
sabiendo que en un caso N1=NN y en el otro M1=MM y que por los medios no se
repiten N1 ni M1)

Campo:
3-->N1=NN
4
5
4
2
7
8
7
6
9
3>NN=N1

1>M1=MM
7
7
6
5
4
8
3
2
1 >MM=M1

Gracias.

Preguntas similare

Leer las respuestas

#1 Juan M. Afan de Ribera
27/04/2010 - 17:17 | Informe spam
Hola, no se si he entendido bien el planteamiento de tu tabla, pero por si te
sirve, para seleccionar los registros que empiecen por una letra, debes
hacerlo con la cláusula Like. Por ejemplo, en tu consulta, en el campo que
contiene los valores N1-NN o M1-MM, le pones como criterio

Like "N*"

y eso te filtrará todos los registros cuyo campo (tu campo 'numérico con N's
o M's o lo que sea) empiece por N y cualquier otro caracter (el símbolo
asterisco (*))
Saludos desde Barcelona,
Juan M. Afán de Ribera
http://accessvbafaq.mvps.org


"manuel" wrote:

Saludos al grupo.
En una tabla tengo una sucesión de registros con un campo numérico.
el primer registro contiene el número N1. Después sigue una lista numérica
cualquiera, sin repetirse N1.
N1 se repite como último elemento de la lista en el registro NN.
A continuación, el campo vale M1, y le siguen varios números sin repetir M1.
M1 se repite como último elemento de la secuencia, en el registro MM.

Mi pregunta es:
Cómo selecciono la primera secuencia, o bien la segunda secuencia?
(los registros entre N1, , NN, o bien los registros entre M1, ..., MM,
sabiendo que en un caso N1=NN y en el otro M1=MM y que por los medios no se
repiten N1 ni M1)

Campo:
3-->N1=NN
4
5
4
2
7
8
7
6
9
3>NN=N1

1>M1=MM
7
7
6
5
4
8
3
2
1 >MM=M1

Gracias.


.

Respuesta Responder a este mensaje
#2 manuel
28/04/2010 - 00:39 | Informe spam
No, no es un tema de 'like', (creo).
Me temo que que hay que meter los datos en un array e ir comparando.
Yo quería hacerlo con una consulta por que creo que sería más rápida.
El tema es que tengo una lista (puede ser bastante extensa) de puntos en 2
dimensiones (x, y) que definen una serie de contornos cerrados (por las
líneas rectas que van uniendo los puntos consecutivamente.
La condición de cierre de un contorno es que el punto inicial de la lista de
puntos del contorno tiene el mismo valor que el último punto. Un segundo
contorno será otra lista que empezará por un punto inicial, hasta que vuelva
a coincidir su último punto con su primer punto, tal que los valores (x1 y1)
= (xn yn), etc.

Por ejemplo, dos campos: Abscisa_X Ordenada_Y
Abs_X Ord_Y
0,0000 0,0000 Contorno 1: Punto inicial (0,0000 0,0000)
0,1234 3,7890
2,0000 4,8976 (El contorno 1 define un polígono irregular)
3,5000 7,4329
0,5000 0,1200
0,0000 0,0000 Contorno 1: Punto final (0,0000 0,0000)=Punto final (0,0000
0,0000)
1,0000 5,0000 Contorno 2: Punto inicial (1,0000 5,0000)
4,0000 5,0000
4,0000 8,0000 (El contorno 2 define un cuadrado de lado 3m)
1,0000 8,0000
1,0000 5,0000 Contorno 2: Punto final (1,0000 5,0000)=Punto inicial (1,0000
5,0000)
5,0000 1,0000 Contorno 3: Punto inicial (5,0000 1,0000)
8,0000 1,0000
8,0000 5,0000 (El contorno 3 define un triángulo rectángulo de lados 2, 3,
4)
5,0000 1,0000 Contorno 3: Punto final (5,0000 1,0000)=Punto inicial (5,0000
1,0000)
Contorno 4
Contorno 5

Contorno m

Mi consulta quiere SELECCIONAR la lista de puntos del primer contorno:
(El polígono irregular)
0,0000 0,0000 Contorno 1: Punto inicial (0,0000 0,0000)
0,1234 3,7890
2,0000 4,8976 (El contorno 1 define un polígono irregular)
3,5000 7,4329
0,5000 0,1200
0,0000 0,0000 Contorno 1: Punto final (0,0000 0,0000)=Punto final (0,0000
0,0000)

O bien la lista de puntos del segundo contorno:
(El cuadrado)
1,0000 5,0000 Contorno 2: Punto inicial (1,0000 5,0000)
4,0000 5,0000
4,0000 8,0000 (El contorno 2 define un cuadrado de lado 3m)
1,0000 8,0000
1,0000 5,0000 Contorno 2: Punto final (1,0000 5,0000)=Punto inicial (1,0000
5,0000)

O bien la lista de puntos del tercer contorno:
(El triángulo rectángulo)
5,0000 1,0000 Contorno 3: Punto inicial (5,0000 1,0000)
8,0000 1,0000
8,0000 5,0000 (El contorno 3 define un triángulo rectángulo de lados 2, 3,
4)
5,0000 1,0000 Contorno 3: Punto final (5,0000 1,0000)=Punto inicial (5,0000
1,0000)

La condición de selección ha de ser, no los registros 'que son como' (LIKE)
si no los registros existentes desde (Punto inicial) hasta (Punto final)
(=Punto inicial)
Es decir, desde el punto inicial, hasta que se vuelve a encontrar otro
registro con los valores (x, y) iguales a los del punto inicial.

¿Se me entiende ahora?
Por eso decía al principio que quizás haya que recurrir a Vbasic y comparar
sobre los valores en una matriz.
Aunque si se puede hacer con una consulta..., mucho mejor, porque se le
podrían asociar algunos cálculos a realizar durante la misma consulta.

Un saludo.




"Juan M. Afan de Ribera"
escribió en el mensaje
news:
Hola, no se si he entendido bien el planteamiento de tu tabla, pero por si
te
sirve, para seleccionar los registros que empiecen por una letra, debes
hacerlo con la cláusula Like. Por ejemplo, en tu consulta, en el campo que
contiene los valores N1-NN o M1-MM, le pones como criterio

Like "N*"

y eso te filtrará todos los registros cuyo campo (tu campo 'numérico con
N's
o M's o lo que sea) empiece por N y cualquier otro caracter (el símbolo
asterisco (*))
Saludos desde Barcelona,
Juan M. Afán de Ribera
http://accessvbafaq.mvps.org


"manuel" wrote:

Saludos al grupo.
En una tabla tengo una sucesión de registros con un campo numérico.
el primer registro contiene el número N1. Después sigue una lista
numérica
cualquiera, sin repetirse N1.
N1 se repite como último elemento de la lista en el registro NN.
A continuación, el campo vale M1, y le siguen varios números sin repetir
M1.
M1 se repite como último elemento de la secuencia, en el registro MM.

Mi pregunta es:
Cómo selecciono la primera secuencia, o bien la segunda secuencia?
(los registros entre N1, , NN, o bien los registros entre M1, ...,
MM,
sabiendo que en un caso N1=NN y en el otro M1=MM y que por los medios no
se
repiten N1 ni M1)

Campo:
3-->N1=NN
4
5
4
2
7
8
7
6
9
3>NN=N1

1>M1=MM
7
7
6
5
4
8
3
2
1 >MM=M1

Gracias.


.

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