Ir al contenido


Foto

variable


  • Por favor identifícate para responder
No hay respuestas en este tema

#1 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 mensajes
  • LocationMexico D.F:

Escrito 10 enero 2011 - 01:45

Saludos
hay algun modo en que pueda aignar una variable dentro de la misma consulta ???
esto es necesito generar los RFC en base a, paterno materno nombre y fecha de nacimientosegun esto las reglas son

1.- primera letra de paterno
2.- primera vocal del paterno
3.- primera letra del materno
4.- primera letra del nombre
5.- fecha de nacimiento en formato AAMMDD

pero cuando son nombre compuestos ?? ( de, de la, y, del ....)entonces hice esto



sql
  1. CASE
  2. WHEN mid(ap_paterno,1,6)="DE LA " THEN 7
  3. WHEN MID(ap_paterno,1,3)="DE " THEN 4
  4. WHEN MID(ap_paterno,1,6)  = "DE LA " THEN 7
  5. WHEN mid(ap_paterno,1,3)  = "DE " THEN 4
  6. WHEN MID(ap_paterno,1,2)  = "Y "  THEN 3
  7. WHEN MID(ap_paterno,1,4)  = "DEL " THEN 5
  8. WHEN MID(ap_paterno,1,10) = "MA DE LOS " THEN 11
  9. WHEN MID(ap_paterno,1,9)  = "MA DE LA " THEN 10
  10. WHEN MID(ap_paterno,1,7)  = "MA DEL " THEN 8
  11. WHEN MID(ap_paterno,1,12) = "MARIA DE LA " THEN 13
  12. WHEN MID(ap_paterno,1,9)  = "MARIA DE " THEN 10
  13. WHEN MID(ap_paterno,1,10) = "MARIA DEL " THEN 11
  14. WHEN MID(ap_paterno,1,6)  = "MARIA " THEN 7
  15. WHEN MID(ap_paterno,1,5)  = "JOSE " THEN 6
  16. WHEN MID(ap_paterno,1,8)  = "JOSE DE " THEN 9
  17. ELSE 1
  18. END) AS cuentando,



pero ahora como ocupo ese valor mi consulta mas o menos va asi



sql
  1. SELECT"nombre de la base".ap_paterno,"nombre de la base".ap_materno,"nombre de la base".nombre,
  2. CONCAT(MID(ap_paterno,1,1),
  3.     (CASE
  4. WHEN mid(ap_paterno,2,1) = "A" THEN "A"
  5. WHEN mid(ap_paterno,2,1) = "E" THEN "E"
  6. WHEN mid(ap_paterno,2,1) = "I" THEN "I"
  7. WHEN mid(ap_paterno,2,1) = "O" THEN "O"
  8. WHEN mid(ap_paterno,2,1) = "U" THEN "U"
  9. ELSE (CASE
  10. WHEN mid(ap_paterno,3,1) = "A" THEN "A"
  11. WHEN mid(ap_paterno,3,1) = "E" THEN "E"
  12. WHEN mid(ap_paterno,3,1) = "I" THEN "I"
  13. WHEN mid(ap_paterno,3,1) = "O" THEN "O"
  14. WHEN mid(ap_paterno,3,1) = "U" THEN "U"
  15. ELSE (CASE
  16. WHEN mid(ap_paterno,3,1) = "A" THEN "A"
  17. WHEN mid(ap_paterno,3,1) = "E" THEN "E"
  18. WHEN mid(ap_paterno,3,1) = "I" THEN "I"
  19. WHEN mid(ap_paterno,3,1) = "O" THEN "O"
  20. WHEN mid(ap_paterno,3,1) = "U" THEN "U"
  21. ELSE MID(ap_paterno,4,1)
  22. END)
  23. END)
  24.     END), mid(ap_materno,1,1),mid(nombre,1,1),MID("nombre de la base".fechas,7,6))
  25. FROM"nombre de la base"
  26. ORDER BY cuentando DESC



la idea es ya una vez que tenga la consulta correcta aplicar un set para que lo haga todo junto, que se tarde 3 dias pero todos juntos y ya con una regla depurada, que contemple los nombre compuestos y las palabras prohibidas y luego sigue el show de crear la homeclave


  • 0