Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Seleccionar campos YEAR pero solo los que esten en el periodo elejido

Estas en el tema de Seleccionar campos YEAR pero solo los que esten en el periodo elejido en el foro de Mysql en Foros del Web. Saludos, Estimados disculpen como puedo hacer para seleccionar de la tabla directorio solo los directivos que esten actualmente dentro del periodo elejido. El problema me ...
  #1 (permalink)  
Antiguo 11/08/2009, 14:04
 
Fecha de Ingreso: diciembre-2007
Mensajes: 218
Antigüedad: 12 años, 2 meses
Puntos: 1
Seleccionar campos YEAR pero solo los que esten en el periodo elejido

Saludos,

Estimados disculpen como puedo hacer para seleccionar de la tabla directorio solo los directivos que esten actualmente dentro del periodo elejido.

El problema me surje por que en los campos dire_fecha_inicio y dire_fecha_fin me selecciona 2 registros de los cuales 1 no va por que ya finalizo el periodo, mi script de consulta es este:

function consulta_directorio(){
$sql_te="SELECT * FROM adm_cargo, adm_departamento, adm_directorio WHERE dire_cargo = carg_codigo AND dire_departamento = depa_codigo AND YEAR(CURDATE())>=dire_inicio_eleccion AND YEAR(CURDATE())<=dire_fin_eleccion ORDER BY carg_tag ";
return $result_te=mysql_query($sql_te,$this->cnx);
}

pero me selecciona 2 presidentes es decir:

1º Presidente fecha_inicio=2008 fecha_fin=2009
2º Presidente fecha_inicio=2009 fecha_fin=2010

Como hagon para que solo me seleccione los directivos actuales????

De antemano muchas gracias.
  #2 (permalink)  
Antiguo 11/08/2009, 14:18
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años
Puntos: 360
Respuesta: Seleccionar campos YEAR pero solo los que esten en el periodo elejido

No te entiendo lvinuezav.

Muestra algunos datos de las tablas, y la salida que esperarías.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 11/08/2009, 14:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 218
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Seleccionar campos YEAR pero solo los que esten en el periodo elejido

Saludos,

Disculpa por lo enredado del asunto, en la tabla direcotrio se almacena los directivos de varios años y deseo mostrar solo los que pertenecen a la directiva actual es decir:

Directiva actual ---- dire_fecha_inicio 2009 dire_fecha_fin 2010
Directiva anterior -- dire_fecha_inicio 2008 dire_fecha_fin 2009

Si ejecuto el script que tengo me muestran los 2 presidentes y asi susesivamente con los demas directivos, solo necesito que me muestre la directiva actual que inicia en el 2009 y finaliza el 2010.
  #4 (permalink)  
Antiguo 11/08/2009, 14:41
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años
Puntos: 360
Respuesta: Seleccionar campos YEAR pero solo los que esten en el periodo elejido

Código sql:
Ver original
  1. SELECT * FROM adm_cargo, adm_departamento, adm_directorio
  2. WHERE dire_cargo = carg_codigo AND dire_departamento = depa_codigo
  3. AND YEAR(CURDATE())>=dire_inicio_eleccion AND YEAR(CURDATE())<dire_fin_eleccion
  4.  ORDER BY carg_tag

así?

No das muchos detalles.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 12/08/2009, 12:00
 
Fecha de Ingreso: diciembre-2007
Mensajes: 218
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Seleccionar campos YEAR pero solo los que esten en el periodo elejido

Saludos,

Disculpame por no ser tan explicito esta es la estructura de mis tablas:

CREATE TABLE `adm_cargo` (
`carg_codigo` varchar(20) NOT NULL,
`carg_descripcion` varchar(200) NOT NULL,
`carg_tag` int NOT NULL,
PRIMARY KEY (`carg_codigo`)
) ENGINE = InnoDB
CHARACTER SET `latin1` COLLATE `latin1_spanish_ci`;

CREATE TABLE `adm_departamento` (
`depa_codigo` varchar(20) NOT NULL,
`depa_descripcion` varchar(200) NOT NULL,
PRIMARY KEY (`depa_codigo`)
) ENGINE = InnoDB
CHARACTER SET `latin1` COLLATE `latin1_spanish_ci`;

CREATE TABLE `adm_directorio` (
`dire_departamento` varchar(20) NOT NULL,
`dire_cargo` varchar(20) NOT NULL,
`dire_nombres` varchar(200) NOT NULL,
`dire_inicio_eleccion` year NOT NULL,
`dire_fin_eleccion` year NOT NULL,
) ENGINE = InnoDB
CHARACTER SET `latin1` COLLATE `latin1_spanish_ci`;

En la tabla directorio tengo Ingresado los siguientes datos:

ADMINISTRACION - PRESIDENCIA - CESAR ARIAS - 2007 - 2006
ADMINISTRACION - PRESIDENCIA - LUIS ISAIAS - 2007 - 2008
ADMINISTRACION - PRESIDENCIA - CARLOS JURADO - 2008 - 2009
ADMINISTRACION - PRESIDENCIA - JOSE PEREZ - 2009 - 2010

Al ejecutar el script me selecciona los 2 presidentes pero solo deseo presentar los que estan en ejercicio de su mandato es decir a JOSE PEREZ
  #6 (permalink)  
Antiguo 12/08/2009, 12:26
 
Fecha de Ingreso: diciembre-2007
Mensajes: 218
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Seleccionar campos YEAR pero solo los que esten en el periodo elejido

Saludos,

la solucion era tan facil aqui esta:

SELECT * FROM adm_cargo, adm_departamento, adm_directorio WHERE dire_cargo = carg_codigo AND dire_departamento = depa_codigo AND YEAR(CURDATE())<=dire_inicio_eleccion AND dire_fin_eleccion >= YEAR(CURDATE()) ORDER BY `adm_cargo`.`carg_tag` ASC
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:58.