Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/05/2012, 07:09
afuentealba
 
Fecha de Ingreso: abril-2012
Mensajes: 65
Antigüedad: 12 años
Puntos: 0
crear un campo creciente (no id)

Buenos dias!!!.

Pues tengo que generar cuestionarios dinamicos en una tabla, y necesito agregar un campo para saber el numero de preguntas.

Podria haberlo hecho con un campo id incremental, pero o sirve debido a que si una persona entra y se genera el cuestionario por ejmplo 30 preguntas, luego entra otra y el id incremenetal partira del 31 y necesito que por cada cuestionario creado parta desde 1 hasta el numero total de preguntas que es dinamico de acuerdo a unos parametros.

este es el codigo con el cual estoy tratando de genrar en el campo norden que parte de 1 hasta que se genere el cuestionario (3 o 100 dependiendo)

Código:
(select if(((select max(formulario_paso.norden)  
from formulario_paso where formulario_paso.crr_idrelacion ='13153331' )>=0),

(select max(formulario_paso.norden)  + 1 

from formulario_paso 

where formulario_paso.crr_idrelacion ='13153331' ),

(select distinct 1 from formulario_paso where formulario_paso.crr_idrelacion ='13153331' ))),

este es el codigo completo

Código:
insert into formulario_paso
(select 
	'$usuario', 
	date_format(now(),'%Y-%m-%d %H-%i-%s'),
	'0000-00-00 00:00:00',
	'1200013726-8', 	
	'13153331', 
	preguntas.cod_idpregunta, 
	(select if(((select max(formulario_paso.norden)  from formulario_paso where formulario_paso.crr_idrelacion ='13153331' )>=0),
	(select max(formulario_paso.norden)  + 1 from formulario_paso where formulario_paso.crr_idrelacion ='13153331' ),(select distinct 1 from formulario_paso where formulario_paso.crr_idrelacion ='13153331' ))),
	0

from 
	preguntas, pregunta_estado
where 
	preguntas.cod_idpregunta in (select pregunta_delito.cod_pregunta from pregunta_delito where pregunta_delito.cod_delito in ((select if(
 ( '202' in ( 202,222,500,607,608,610,611,612,613,619,620,621,622,623,626,
		 627,628,629,630,631,632,633,634,635,637,701,702,801,802,803,
		 804,805,807,808,809,810,812,826,827,831,846,847,848,853,2001,
		 3001,4001,5001,7001,7006,7007,7014,7030,7031,7032,7033,7034,
		 7037,7042,7043,7099,8001,9001,12031,12040,12050,12075,12078,
		 12079,12080,12083,12133,12135,12152,12154,13028,14001,14002,
		 14003,14052,20004,20005,20006,20099)),('202'),(999999))))) and   
	preguntas.cod_idpregunta = pregunta_estado.cod_pregunta and
	pregunta_estado.valor_estados in (select valor_estado.valor_estado from valor_estado where valor_estado.gl_estado_res like '%t%'))

pero ese codigo (el primero no eh podido dar para que por cada nuevo registro agregue un "indice 1, 2 etc hacia abajo)

alguien?