Ver Mensaje Individual
  #6 (permalink)  
Antiguo 24/03/2013, 04:54
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: problema con enumeracion repetida

Acá lo importante es lo que estás diciendo:
Cita:
la cedula puede ser repetida por que pueden ser familiares ya que está compuesta como un rfc
Esto implica que la cédula sola no puede ser tomada como argumento discriminante, porque tiene una relación N:N con la misma tabla, y por tanto usarla como referncia única es incorrecto.
El ejercicio se puede hacer, pero sólo usando lo que se conoce como "superclave", que es el conjunto de atributos que puede ser determinante (ver conceptos fundamentales de Normalización), esto es, hay que tomar esa céducla juto con el resto de los atributos, tanto para numerar como para actualizar.

Código MySQL:
Ver original
  1. SELECT  (@rnum := @rnum +1) numf, num, cedula ,nombre,apellidoPat , ApellidoMat
  2. FROM exp JOIN (SELECT @rnum :=0) x
  3. ORDER BY num, cedula ,nombre, apellidoPat , ApellidoMatASC

Código MySQL:
Ver original
  1. UPDATE exp t, temp t2
  2. SET num = numf
  3.     t.num = T2.num
  4.     AND t.cedula = T2.cedula
  5.     AND t.nombre = T2.nombre
  6.     AND t.apellidoPat  = T2. ApellidoPat
  7.     AND t.ApellidoMat = T2.ApellidoMat;


Hay algunas observaciones que tengo que hacerte:
1) No me has respondido lo que te pregunté: ¿Qué representa esa tabla?
2) Tienes que recordar que no en todos los países ciertos conceptos tienen el mismo significado. No sé qué es una "cédula" en México, pero en Argentina es un documento supletorio de identidad de las personas, y como tal es imposible que en un registro de personas haya dos con la misma cédula, porque su numeración es única para cada individuo.
En este sentido, el parentesco entre dos personas no es relevante para la documentación, por lo que no entiendo la relación entre ambas cosas.
3) No tengo ni idea de a qué te refieres con "RFC", porque a mi entender, RFC es "Request For Comment", es decir una referencia de comentarios del IEEE, y como tal una documentación de estandarización que se relaciona principalmente con redes... cosa que no creo sea el caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)