Saludos comunidad
Estoy teniendo grandes dificultades con una sentencia MySQL sucede que necesito
Obtener todas las Ordenes de un Convenio que no se repitan en un mismo turno en un dia. Esto se me ha complicado bastante. Aquí les dejo la composición de mi tabla orden_esquema.
Código SQL
[-]
Field Type Null Key Default Extra
id_esquema int(10)unsigned NO PRI auto_increment
norma varchar(45) YES
npr varchar(45) YES
rendimiento varchar(45) YES
distribucion varchar(45) YES
ttrabajo varchar(10) YES
ton varchar(45) YES
orden varchar(45) YES
turno varchar(45) YES
fecha date NO
convenio varchar(45) NO
tinterrupcion varchar(10) YES
causa_int varchar(5) YES
tipo varchar(45) NO
Estoy tratando con algo similar a esto
Código SQL
[-]
SELECT distinct o.fecha, o.turno, e.* FROM orden_esquema o
inner join orden_esquema e on o.id_esquema = e.id_esquema
where o.convenio = '1';
Pero como tambien toma el
INNER JOIN en el
DISTINCT siempre me muestra todas las ordenes del convenio 1. Entonces como puedo evitar que el
DISTINCT me incluya lo que llamo en el
INNER (
e.*) para que me muestre los datos que necesito pero me mantenga la condición de que
o.fecha y
o.turno sean distintos. Por supuesto esta es laforma enq ue creo se pueda hacer, si ustedes lo han logrado en situaciones similares de otra forma estaria encantado de escucharla !!!
Aqui les dejo el Script SQL con la definicion de la tabla y los datos que tengo en este momento. Uso MySQL 5.0.77
Código SQL
[-]
--
-- Create schema ventabuque
--
CREATE DATABASE IF NOT EXISTS ventabuque;
USE ventabuque;
--
-- Definition of table `orden_esquema`
--
DROP TABLE IF EXISTS `orden_esquema`;
CREATE TABLE `orden_esquema` (
`id_esquema` int(10) unsigned NOT NULL auto_increment,
`norma` varchar(45) default NULL,
`npr` varchar(45) default NULL,
`rendimiento` varchar(45) default NULL,
`distribucion` varchar(45) default NULL,
`ttrabajo` varchar(10) default NULL,
`ton` varchar(45) default NULL,
`orden` varchar(45) default NULL,
`turno` varchar(45) default NULL,
`fecha` date NOT NULL,
`convenio` varchar(45) NOT NULL,
`tinterrupcion` varchar(10) default NULL,
`causa_int` varchar(5) default NULL,
`tipo` varchar(45) NOT NULL,
PRIMARY KEY (`id_esquema`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
--
-- Dumping data for table `orden_esquema`
--
;
INSERT INTO `orden_esquema` (`id_esquema`,`norma`,`npr`,`rendimiento`,`distribucion`,`ttrabajo`,`ton`,`orden`,`turno`,`fecha`,`c onvenio`,`tinterrupcion`,`causa_int`,`tipo`) VALUES
(1,'1052300175','169','169','0-0-10-0-0-0','7.3308','1000','1','1','2013-03-11','1','0',NULL,'barco'),
(2,'1611124061','110','120','1-14-6-0-0-2','7.3308','1000','2','1','2013-03-11','1','0',NULL,'barco'),
(3,'3010685011','110','120','1-0-10-0-0-0','7.3308','120','3','1','2013-03-11','2','0',NULL,'monta'),
(4,NULL,NULL,NULL,NULL,'7.3308',NULL,'4','1','2013-03-11','2','0',NULL,'a tiempo');
;
Gracias de antemano