Foros del Web » Programando para Internet » PHP »

Obtener cumpleañeros por rango de fecha

Estas en el tema de Obtener cumpleañeros por rango de fecha en el foro de PHP en Foros del Web. Buenas tardes, espero me puedan ayudar, poseo esta consulta Código: SELECT profiles.birthday, users.username, profiles. NAME, profiles. lastname, profiles.level, users.email, users.id FROM users INNER JOIN profiles ...
  #1 (permalink)  
Antiguo 07/03/2017, 13:56
 
Fecha de Ingreso: noviembre-2009
Mensajes: 89
Antigüedad: 14 años, 5 meses
Puntos: 1
Exclamación Obtener cumpleañeros por rango de fecha

Buenas tardes, espero me puedan ayudar, poseo esta consulta

Código:
SELECT
	profiles.birthday,
	users.username,
	profiles. NAME,
	profiles. lastname,
	profiles.level,
	users.email,
users.id
FROM
	users
INNER JOIN profiles ON users. ID = profiles. USER
WHERE
	(
		extract(DAY from profiles.birthday :: DATE) = '25'
and extract(MONTH from profiles.birthday :: DATE ) = '05'
	) AND users.whitelabel = 3 order by birthday ASC
Actualmente como está me devuelve los cumpleañeros de 1 fecha en especifico, pero lo que deseo es poder seleccionar un rango de fecha y que me muestre todos los cumpleañeros, alguien me podría ayudar? estoy usando postgreesql

Gracias de antemano
  #2 (permalink)  
Antiguo 07/03/2017, 14:06
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Obtener cumpleañeros por rango de fecha

Metere mi cuchara, espero no importunar.

Pero en postgreesql, no existe el between ??
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #3 (permalink)  
Antiguo 07/03/2017, 14:21
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: Obtener cumpleañeros por rango de fecha

Cita:
Iniciado por snowdogs Ver Mensaje
Buenas tardes, espero me puedan ayudar, poseo esta consulta

Código:
SELECT
	profiles.birthday,
	users.username,
	profiles. NAME,
	profiles. lastname,
	profiles.level,
	users.email,
users.id
FROM
	users
INNER JOIN profiles ON users. ID = profiles. USER
WHERE
	(
		extract(DAY from profiles.birthday :: DATE) = '25'
and extract(MONTH from profiles.birthday :: DATE ) = '05'
	) AND users.whitelabel = 3 order by birthday ASC
Actualmente como está me devuelve los cumpleañeros de 1 fecha en especifico, pero lo que deseo es poder seleccionar un rango de fecha y que me muestre todos los cumpleañeros, alguien me podría ayudar? estoy usando postgreesql

Gracias de antemano
Pues es muy sencillo,

tienes que usar BETWEEN

ejemplo
Código MySQL:
Ver original
  1.     profiles.birthday,
  2.     users.username,
  3.     profiles. NAME,
  4.     profiles. lastname,
  5.     profiles.level,
  6.     users.email,
  7. users.id
  8.     users
  9. INNER JOIN profiles ON users. ID = profiles. USER
  10. WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')
  #4 (permalink)  
Antiguo 07/03/2017, 14:59
 
Fecha de Ingreso: noviembre-2009
Mensajes: 89
Antigüedad: 14 años, 5 meses
Puntos: 1
Exclamación Respuesta: Obtener cumpleañeros por rango de fecha

Gracias por su respuestas amigo, el BETWEEN efectivamente me sirve y ya lo tenia pensado pero la cuestion esta es que solo necesito consultar tomando en cuenta solo el mes y el dia, por que? ya que si quiero consultar por ejemplo los que cumplen año en la semana del 07/05 al 14/05 indistamente en el año que nacieron porque me importa es el dia y el mes en que cumplen año, no se si me explico.

Como ustedes me recomendaron tenia que buscar por el año en que cumplen.

Gracias de antemano por la ayuda.
  #5 (permalink)  
Antiguo 07/03/2017, 15:00
 
Fecha de Ingreso: noviembre-2009
Mensajes: 89
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Obtener cumpleañeros por rango de fecha

Cita:
Iniciado por Triby2 Ver Mensaje
Pues es muy sencillo,

tienes que usar BETWEEN

ejemplo
Código MySQL:
Ver original
  1.     profiles.birthday,
  2.     users.username,
  3.     profiles. NAME,
  4.     profiles. lastname,
  5.     profiles.level,
  6.     users.email,
  7. users.id
  8.     users
  9. INNER JOIN profiles ON users. ID = profiles. USER
  10. WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')
Gracias por su respuestas amigo, el BETWEEN efectivamente me sirve y ya lo tenia pensado pero la cuestion esta es que solo necesito consultar tomando en cuenta solo el mes y el dia, por que? ya que si quiero consultar por ejemplo los que cumplen año en la semana del 07/05 al 14/05 indistamente en el año que nacieron porque me importa es el dia y el mes en que cumplen año, no se si me explico.

Como ustedes me recomendaron tenia que buscar por el año en que cumplen.

Gracias de antemano por la ayuda.
  #6 (permalink)  
Antiguo 07/03/2017, 16:18
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: Obtener cumpleañeros por rango de fecha

En ese caso debe hacer un explode de mes y días de sus fechas y hacer el where con el between.

Pasa el parámetro $mes para extraer todo lo que este entre los dias tal y tal del mes seleccionado, realmente estoy en otra cosa ahorita, le dejo una idea

Código SQL:
Ver original
  1. MONTH(profiles.birthday) = MONTH ($mes)
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.

Etiquetas: sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:13.