Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/10/2013, 09:44
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Consecutivo con tablas en mysql y php

gemeli16,
antes de sugerirte nada, te haré algunas aclaraciones. Entiendo perfectamente la necesidad de tener un número consecutivo, que junto con las otras dos claves formarían una clave compuesta en la tabla documentos, pero lo que no comprendo es por qué quieres generar ese número en una consulta con SELECT. Eso no insertará el valor en la tabla. Necesitas programación para buscar primero el número más alto insertado para esa área y tipo de documento en esa misma tabla, y a continuación insertar el valor superior. Luego te bastará con hacer un select con sus INNER JOIN para mostrarlo.
Por otra parte, no nos has dicho si realmente esos tres valores van a ser una clave primaria compuesta, que sería lo lógico, y no volver a cargar el valor de dos campos más algo en el primero. Es decir que en Clave de documentos no cargarías por ej. PR-AA-1, sino simplemente 1.
Tampoco nos dices si el borrado de un registro en esa última tabla conllevaría renumerar de nuevo todos los de esa área y tipo de documento.
No olvides que para almacenar el dato tienes que insertarlo antes, y es en ese momento de insertar cuando controlas qué número almacenar para ese documento de un área y tipo de documento determinado. Cosa distinta es que no quieras insertarlo, sino que desees generarlo al vuelo con no sé qué objetivo. Para eso tendrías que hacer algo parecido a lo que propones pero sobre una subconsulta. Nada nos dices sobre cuál es el criterio para ordenar, pero por lo que veo es el orden de inclusión en la tabla. Acláranos un poco más sobre ese número y para qué lo usaras.