Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/12/2011, 06:05
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Crear un contador e insertarlo en la tabla

Cita:
---------Tabla origen donde se encuentran los duplicados
CREATE TABLE `pacientes` (
`id_paciente` int(4) NOT NULL auto_increment,
...
PRIMARY KEY (`id_paciente`)

Ese campo tiene duplicados!!?!?!? Imposible.

Yo quitaria pa_edad es un dato que ya tienes en pa_fec_na, que es fijo, mientras que edad no lo es....


Código MySQL:
Ver original
  1. INSERT INTO `uro_paciente` (`pa_nombre`,
  2.               `pa_sexo`,
  3.               `pa_telefono`,
  4.               `pa_celular`,
  5.               `pa_fec_nac`,
  6.               `pa_correo`)
  7. SELECT DISTINCT `nombre`,
  8.              `sexo`,
  9.              `tel_casa`,
  10.              `tel_cel`,
  11.              `fecha_nacimiento`,
  12.              `correo`
  13. FROM `pacientes`
  14. GROUP BY `nombre`,
  15.                  `sexo`,
  16.                  `tel_casa`,
  17.                  `tel_cel`,
  18.                  `fecha_nacimiento`,
  19.                  `correo`;

Con esto la tabla uro_paciente tendrá un `uro_id_paciente` sin duplicados, ni saltos (mientras no borres a nadie).


DISTINCT eliminara repeticiones, pero si el mismo paciente lo tienes dos veces en la tabla paciente con por ejemplo telefonos distintos te enetrará dos veces....

Que tengas pacientes duplicados con identificadores distintos es creible, que un campo autoincremental que ademas es PRIMARY KEY tenga duplicados no lo es....

No te procupes por los saltos, un identificador no es ni debe ser un contador...

HAAA y no repitas los post!!!!
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 13/12/2011 a las 06:33