Consulta Sql

29/07/2003 - 09:55 por cousi | Informe spam
Hola a todos.

Esta consulta la puse hace unos dias, pero es que no consigo solucionarlo
con las soluciones que me dieron o a lo mejor yo me exprese mal con lo que
quería hacer. Esto trabajando con VB6.0, Sp5, Mdac 2.6, Access 2000.

Yo tengo una tabla de personal en la cuál introduzco la fecha de nacimiento.

Las concultas que yo quiero hacer son las siguientes.

Yo quiero sacar las personas que tengan una determinada edad, es decir
todas aquellas personas que tengan 30 años, lo que pasa que no lo consigo.
Mas o meno creo que sería así

Select nombre, apellidos, direccion, fechanaciemiento From personal Where
(fechanacimiento =datediff("yyyy", fechanacimiento, 30) -aqui es donde me
bloqueo

La otra consulta que quiero hacer es mas o me nos lo mismo, lo unico que
quiero es sacar las personas que tengan entre 20 y 30 años.

Me pueden echar una mano, muchisimas gracias

Jose Mª Cousiño

Preguntas similare

Leer las respuestas

#1 Alex Martínez
29/07/2003 - 11:18 | Informe spam
prueba algo como:
where dateadd('yyyy',30, fechanacimiento) >
dateserial(year(dateadd('yyyy',-1,date())), month(date()), day(date())) and
dateadd('yyyy',30, fechanacimiento) <= dateserial(year(date()),
month(date()), day(date()))


Saludos,
Alex


"cousi" wrote in message
news:
Hola a todos.

Esta consulta la puse hace unos dias, pero es que no consigo solucionarlo
con las soluciones que me dieron o a lo mejor yo me exprese mal con lo que
quería hacer. Esto trabajando con VB6.0, Sp5, Mdac 2.6, Access 2000.

Yo tengo una tabla de personal en la cuál introduzco la fecha de


nacimiento.

Las concultas que yo quiero hacer son las siguientes.

Yo quiero sacar las personas que tengan una determinada edad, es decir
todas aquellas personas que tengan 30 años, lo que pasa que no lo consigo.
Mas o meno creo que sería así

Select nombre, apellidos, direccion, fechanaciemiento From personal Where
(fechanacimiento =datediff("yyyy", fechanacimiento, 30) -aqui es donde


me
bloqueo

La otra consulta que quiero hacer es mas o me nos lo mismo, lo unico que
quiero es sacar las personas que tengan entre 20 y 30 años.

Me pueden echar una mano, muchisimas gracias

Jose Mª Cousiño


Respuesta Responder a este mensaje
#2 cousi
29/07/2003 - 11:44 | Informe spam
Muchisismas gracias, me ha servido un montón

Hasta luego.

Jose Mª Cousiño


"Alex Martínez" escribió en el mensaje
news:
prueba algo como:
where dateadd('yyyy',30, fechanacimiento) >
dateserial(year(dateadd('yyyy',-1,date())), month(date()), day(date()))


and
dateadd('yyyy',30, fechanacimiento) <= dateserial(year(date()),
month(date()), day(date()))


Saludos,
Alex


"cousi" wrote in message
news:
> Hola a todos.
>
> Esta consulta la puse hace unos dias, pero es que no consigo


solucionarlo
> con las soluciones que me dieron o a lo mejor yo me exprese mal con lo


que
> quería hacer. Esto trabajando con VB6.0, Sp5, Mdac 2.6, Access 2000.
>
> Yo tengo una tabla de personal en la cuál introduzco la fecha de
nacimiento.
>
> Las concultas que yo quiero hacer son las siguientes.
>
> Yo quiero sacar las personas que tengan una determinada edad, es decir
> todas aquellas personas que tengan 30 años, lo que pasa que no lo


consigo.
> Mas o meno creo que sería así
>
> Select nombre, apellidos, direccion, fechanaciemiento From personal


Where
> (fechanacimiento =datediff("yyyy", fechanacimiento, 30) -aqui es


donde
me
> bloqueo
>
> La otra consulta que quiero hacer es mas o me nos lo mismo, lo unico que
> quiero es sacar las personas que tengan entre 20 y 30 años.
>
> Me pueden echar una mano, muchisimas gracias
>
> Jose Mª Cousiño
>
>


Respuesta Responder a este mensaje
#3 cousi
29/07/2003 - 12:03 | Informe spam
Hola Alex, muchas gracias por la ayuda anterior pero te quiero preguntar
algo, y si quiero hacer lo mismo pero con las personas que tengan entre 30 y
40 se haria así:

where fechanacimento between dateadd('yyyy',30, fechanacimiento) >
dateserial(year(dateadd('yyyy',-1,date())), month(date()), day(date())) and
dateadd('yyyy',30, fechanacimiento) <= dateserial(year(date()),
month(date()), day(date())) and dateadd('yyyy',40, fechanacimiento) >
dateserial(year(dateadd('yyyy',-1,date())), month(date()), day(date())) and
dateadd('yyyy',40, fechanacimiento) <= dateserial(year(date()),
month(date()), day(date()))

Es que lo he probado así y no me sale nada. Sabes por que????
Muchisimas garcias.

Jose Mª Cousiño


"Alex Martínez" escribió en el mensaje
news:
prueba algo como:
where dateadd('yyyy',30, fechanacimiento) >
dateserial(year(dateadd('yyyy',-1,date())), month(date()), day(date()))


and
dateadd('yyyy',30, fechanacimiento) <= dateserial(year(date()),
month(date()), day(date()))


Saludos,
Alex


"cousi" wrote in message
news:
> Hola a todos.
>
> Esta consulta la puse hace unos dias, pero es que no consigo


solucionarlo
> con las soluciones que me dieron o a lo mejor yo me exprese mal con lo


que
> quería hacer. Esto trabajando con VB6.0, Sp5, Mdac 2.6, Access 2000.
>
> Yo tengo una tabla de personal en la cuál introduzco la fecha de
nacimiento.
>
> Las concultas que yo quiero hacer son las siguientes.
>
> Yo quiero sacar las personas que tengan una determinada edad, es decir
> todas aquellas personas que tengan 30 años, lo que pasa que no lo


consigo.
> Mas o meno creo que sería así
>
> Select nombre, apellidos, direccion, fechanaciemiento From personal


Where
> (fechanacimiento =datediff("yyyy", fechanacimiento, 30) -aqui es


donde
me
> bloqueo
>
> La otra consulta que quiero hacer es mas o me nos lo mismo, lo unico que
> quiero es sacar las personas que tengan entre 20 y 30 años.
>
> Me pueden echar una mano, muchisimas gracias
>
> Jose Mª Cousiño
>
>


Respuesta Responder a este mensaje
#4 Fatima
29/07/2003 - 12:20 | Informe spam
La función Datediff en Acces devuelve los días entre las dos fechas, por lo
tanto podrías poner algo asi:

WHERE (((DateDiff("y",[fechaNac],Date())/365)>30) and
((DateDiff("y",[fechaNac],Date())/365)<31));

Para encontrar las personas entre 20 y 30 sería de una forma similar.
Espero que te sirva.


"cousi" escribió en el mensaje
news:
Hola a todos.

Esta consulta la puse hace unos dias, pero es que no consigo solucionarlo
con las soluciones que me dieron o a lo mejor yo me exprese mal con lo que
quería hacer. Esto trabajando con VB6.0, Sp5, Mdac 2.6, Access 2000.

Yo tengo una tabla de personal en la cuál introduzco la fecha de


nacimiento.

Las concultas que yo quiero hacer son las siguientes.

Yo quiero sacar las personas que tengan una determinada edad, es decir
todas aquellas personas que tengan 30 años, lo que pasa que no lo consigo.
Mas o meno creo que sería así

Select nombre, apellidos, direccion, fechanaciemiento From personal Where
(fechanacimiento =datediff("yyyy", fechanacimiento, 30) -aqui es donde


me
bloqueo

La otra consulta que quiero hacer es mas o me nos lo mismo, lo unico que
quiero es sacar las personas que tengan entre 20 y 30 años.

Me pueden echar una mano, muchisimas gracias

Jose Mª Cousiño


Respuesta Responder a este mensaje
#5 cousi
29/07/2003 - 12:57 | Informe spam
Hola fatima, lo voy a probar y te cuento


"Fatima" escribió en el mensaje
news:
La función Datediff en Acces devuelve los días entre las dos fechas, por


lo
tanto podrías poner algo asi:

WHERE (((DateDiff("y",[fechaNac],Date())/365)>30) and
((DateDiff("y",[fechaNac],Date())/365)<31));

Para encontrar las personas entre 20 y 30 sería de una forma similar.
Espero que te sirva.


"cousi" escribió en el mensaje
news:
> Hola a todos.
>
> Esta consulta la puse hace unos dias, pero es que no consigo


solucionarlo
> con las soluciones que me dieron o a lo mejor yo me exprese mal con lo


que
> quería hacer. Esto trabajando con VB6.0, Sp5, Mdac 2.6, Access 2000.
>
> Yo tengo una tabla de personal en la cuál introduzco la fecha de
nacimiento.
>
> Las concultas que yo quiero hacer son las siguientes.
>
> Yo quiero sacar las personas que tengan una determinada edad, es decir
> todas aquellas personas que tengan 30 años, lo que pasa que no lo


consigo.
> Mas o meno creo que sería así
>
> Select nombre, apellidos, direccion, fechanaciemiento From personal


Where
> (fechanacimiento =datediff("yyyy", fechanacimiento, 30) -aqui es


donde
me
> bloqueo
>
> La otra consulta que quiero hacer es mas o me nos lo mismo, lo unico que
> quiero es sacar las personas que tengan entre 20 y 30 años.
>
> Me pueden echar una mano, muchisimas gracias
>
> Jose Mª Cousiño
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida