Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

recorrido de registro uno por uno

Estas en el tema de recorrido de registro uno por uno en el foro de Mysql en Foros del Web. Hola compañeros, pues mi duda es la siguiente, tengo una tabla llamada orden y dentro de ella los sigs campos: idorden-folio-idempresa 1 -1- 3 2 ...
  #1 (permalink)  
Antiguo 27/02/2009, 16:37
Avatar de Lenin_Germaine  
Fecha de Ingreso: junio-2007
Ubicación: Monterrey, Nuevo León
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Sonrisa [solucionado]recorrido de registro uno por uno

Hola compañeros, pues mi duda es la siguiente, tengo una tabla llamada orden y dentro de ella los sigs campos:

idorden-folio-idempresa
1 -1- 3
2 -2- 3
3 -1- 2
4 -1- 5

donde idorden es autonumerico, folio es int al igual que idempresa, la cosa es que folio es un consecutivo pero no automatico de la orden de cada empresa, por eso cuando quiero insertar una nueva orden para la empresa 3 el folio sera 3, en el caso para la empresa 5 el folio que sigue es el 2, aqui la cosa es que si hay alguna forma de ir recorriendo los registros para que en base al idempresa del cual deseo meter una nueva orden halle el folio que le toca que en este caso de la empresa 3 tocaria el folio 3 en la nueva orden, no me ayudan a como hacerlo?,

Última edición por Lenin_Germaine; 04/03/2009 a las 16:35 Razón: solucionado
  #2 (permalink)  
Antiguo 27/02/2009, 16:50
Avatar de Lenin_Germaine  
Fecha de Ingreso: junio-2007
Ubicación: Monterrey, Nuevo León
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Información Respuesta: recorrido de registro uno por uno

Cita:
Iniciado por Lenin_Germaine Ver Mensaje
Hola compañeros, pues mi duda es la siguiente, tengo una tabla llamada orden y dentro de ella los sigs campos:

idorden-folio-idempresa
1 -1- 3
2 -2- 3
3 -1- 2
4 -1- 5

donde idorden es autonumerico, folio es int al igual que idempresa, la cosa es que folio es un consecutivo pero no automatico de la orden de cada empresa, por eso cuando quiero insertar una nueva orden para la empresa 3 el folio sera 3, en el caso para la empresa 5 el folio que sigue es el 2, aqui la cosa es que si hay alguna forma de ir recorriendo los registros para que en base al idempresa del cual deseo meter una nueva orden halle el folio que le toca que en este caso de la empresa 3 tocaria el folio 3 en la nueva orden, no me ayudan a como hacerlo?,
Tengo una ligera idea, podría ser asi: ?
Código:
SELECT MAX(folio)
FROM orden
WHERE idempresa=3;
y pues solo me restaria incrementar en uno el valor maximo no?

Última edición por Lenin_Germaine; 27/02/2009 a las 16:57
  #3 (permalink)  
Antiguo 27/02/2009, 23:51
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: recorrido de registro uno por uno

Esto te insertará ese número y además, si no existe ningún valor para la nueva empresa, pondrá folio 1. En los dos lugares donde pone 3, deberás poner la variable.

Código sql:
Ver original
  1. INSERT INTO tabla(folio, idempresa) (SELECT IFNULL(MAX(folio)+1,1), 3 FROM `tabla` WHERE idempresa = 3)
  #4 (permalink)  
Antiguo 04/03/2009, 16:34
Avatar de Lenin_Germaine  
Fecha de Ingreso: junio-2007
Ubicación: Monterrey, Nuevo León
Mensajes: 82
Antigüedad: 16 años, 10 meses
Puntos: 0
Exclamación Respuesta: recorrido de registro uno por uno

Eres el mejor jurena, gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:14.