Ver Mensaje Individual
  #7 (permalink)  
Antiguo 11/09/2014, 09:37
baravaro
 
Fecha de Ingreso: noviembre-2012
Mensajes: 97
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Registros duplicados en mi consulta

A ver, sigo pensando que error esta en la consulta y que no me he explicado bien, no lo se, boya intentar explicarlo detenidamente:

Tengo estas tablas
premium_routes


Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `premium_routes` (
  2.   `ID` BIGINT(15) NOT NULL AUTO_INCREMENT,
  3.   `hotel_code` VARCHAR(225) NOT NULL,
  4.   `route_name` VARCHAR(225) NOT NULL,
  5.   `route_origin` VARCHAR(225) NOT NULL,
  6.   `route_destination` VARCHAR(225) NOT NULL,
  7.   `route_time` VARCHAR(225) NOT NULL,
  8.   `route_price` VARCHAR(100) NOT NULL,
  9.   `route_special` INT(2) NOT NULL DEFAULT '0',
  10.   `route_active` INT(2) NOT NULL DEFAULT '1',
  11.   `route_date_update` VARCHAR(100) NOT NULL,
  12.   `route_date` VARCHAR(100) NOT NULL,
  13.   PRIMARY KEY (`ID`)
  14. ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
  15.  
  16. --
  17. -- Volcado de datos para la tabla `premium_routes`
  18. --
  19.  
  20. INSERT INTO `premium_routes` (`ID`, `hotel_code`, `route_name`, `route_origin`, `route_destination`, `route_time`, `route_price`, `route_special`, `route_active`, `route_date_update`, `route_date`) VALUES
  21. (1, '123456', 'RutaPrueba', 'Calle Falsa 12', 'Mendez Alvaro', '900', '€', 0, 1, '2014-08-25 17:27:56', '2014-07-30 09:42:26'),
  22. (2, '123456', 'prieba2', 'Calle Falsa 12', 'aeropuerto', '1800', '20', 0, 1, '', '2014-08-25 17:30:14'),
  23. (3, '234567890', 'Tren', 'sdfghjk 1', 'Estacion Atocha', '1800', '10', 0, 1, '', '2014-09-03 03:26:49'),
  24. (4, '234567890', 'ruta1', 'sdfghjk 1', 'calle/prueba', '4800', '30', 1, 1, '', '2014-09-04 12:06:53'),
  25. (5, '951951', 'Ruta de prueba', 'C/prueba', 'C/popapa', '1200', '30', 0, 1, '', '2014-09-05 11:01:23'),
  26. (6, '951951', 'Ruta de prueba 2', 'C/prueba', 'c/hola', '5400', '50', 0, 1, '', '2014-09-05 18:32:09'),
  27. (7, '951951', 'ruta 3', 'C/prueba', 'aqui', '3600', '30', 0, 1, '', '2014-09-08 10:02:53');


Premium_reservation

Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `premium_reservation` (
  2.   `ID` BIGINT(20) NOT NULL AUTO_INCREMENT,
  3.   `hotel_code` VARCHAR(225) NOT NULL,
  4.   `route` INT(5) NOT NULL,
  5.   `car_type` VARCHAR(50) NOT NULL,
  6.   `passengers` INT(5) NOT NULL,
  7.   `ticket_date` VARCHAR(100) NOT NULL,
  8.   `ticket_timestamp` VARCHAR(150) NOT NULL,
  9.   `ticket_hash` VARCHAR(225) NOT NULL,
  10.   `ticket_active` INT(1) NOT NULL DEFAULT '1',
  11.   `booking_date` VARCHAR(100) NOT NULL,
  12.   PRIMARY KEY (`ID`)
  13. ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;
  14.  
  15. --
  16. -- Volcado de datos para la tabla `premium_reservation`
  17. --
  18.  
  19. INSERT INTO `premium_reservation` (`ID`, `hotel_code`, `route`, `car_type`, `passengers`, `ticket_date`, `ticket_timestamp`, `ticket_hash`, `ticket_active`, `booking_date`) VALUES
  20. (1, '123456', 1, 'car', 4, '2014-08-27 17:00', '1409156100', '2d43761618543dafa21496163db74da9', 1, '2014-08-25 17:06:00'),
  21. (2, '123456', 1, 'mini', 3, '2014-08-28 18:15', '1409243400', '974e7071410f4ad03ff7121c6031347e', 1, '2014-08-25 17:28:58'),
  22. (3, '123456', 1, 'car', 1, '2014-09-03 14:15', '1409747400', 'f71683e8759d552d74998c6dbd72282c', 1, '2014-09-02 14:18:47'),
  23. (4, '123456', 1, 'car', 1, '2014-09-19 03:15', '1411090200', '7f4846b4b39b69f23145aa1a98417611', 1, '2014-09-03 03:24:20'),
  24. (5, '123456', 1, 'car', 1, '2014-09-19 03:15', '1411090200', 'b9007216bc499f97d168e322d0d47cea', 1, '2014-09-03 03:24:31'),
  25. (6, '123456', 1, 'car', 1, '2014-09-18 03:15', '1411003800', 'f3fe031d2c09630e687a0a33da22b63c', 1, '2014-09-03 03:24:42'),
  26. (7, '123456', 1, 'car', 2, '2014-09-21 04:30', '1411267500', 'c177422a457f90f1601d7b42efcacc08', 1, '2014-09-10 11:03:47'),
  27. (8, '123456', 1, 'car', 3, '2014-09-21 11:00', '1411290900', '13fc2946b62e32f5c43baf340cd6026a', 1, '2014-09-10 11:04:08'),
  28. (9, '123456', 1, 'car', 1, '2014-09-18 11:45', '1411034400', '2710655437a4b5dc4b5a0d91ed38be09', 1, '2014-09-10 11:55:58'),
  29. (10, '123456', 1, 'mini', 6, '2014-09-13 12:45', '1410606000', '43aa2251b0e36e3fad76a585b06ab485', 1, '2014-09-10 12:53:44'),
  30. (11, '123456', 1, 'mini', 5, '2014-09-13 12:45', '1410606000', '4584ac4f9f33b4176a05ee0ba2a1c890', 1, '2014-09-10 12:54:11');


La idea es que tengo que sacar todos los datos de la tabla premium_reservation y necesito el campo premium_route.route_destination de la otra tabla.

Para ello hice esta consulta
Código MySQL:
Ver original
  1. SELECT * FROM premium_reservation R, premium_routes P
  2. WHERE R.`hotel_code` = '123456' AND R.`hotel_code` = P.`hotel_code`


La única union que veo entre las dos es el campo hotel_code de ahí que haga la union entre las dos tablas con ese campo.

Este es el resultado que me da
Cita:
Ediutado: Codigo de programacion no permitido en foros de BBDD
y sigue para abajo repitiendo resgitros...

Como podeis ver, el ID se duplica... no se si me explico, si soy un poco cabezón que, pero en esto de las consultas y eso me cuesta un poco mas...

Espero a ver sido claro..

En caso de que efectivamente sea problema de la programación el lenguaje utilizado es php, pero no se me ocurre como puedo solucionarlo desde ahí.

Gracias

Última edición por gnzsoloyo; 11/09/2014 a las 09:56