SQL - Insertar modificando datos

 
Vista:

Insertar modificando datos

Publicado por Jorge Albizures (3 intervenciones) el 23/04/2010 20:48:32
Buenas, tengo una consulta y no se si se pueda hacer en un solo query sin usar un do while.

este es el ejemplo tengo una tabla llamada pedidos.

Nopedido cliente valor
1 juan 1000.00
2 pedro 3000.00
3 pepito 6000.00

ok y lo que necesito hacer es una insercion de estos 3 pedidos en la misma tabla pero que al Nopedido empieze por otro correlativo que yo le indique y que despues de la insercion quede asi.

Nopedido cliente valor fecha
1 juan 1000.00 23/04/2010
2 pedro 3000.00 23/04/2010
3 pepito 6000.00 23/04/2010
100 juan 1000.00 23/04/2010
101 pedro 3000.00 23/04/2010
102 pepito 6000.00 23/04/2010

esta sera una tarea ejecutada una vez al dia por lo que todos los pedidos del dia se duplicaran con un nuevo correlativo, y como son varios no he encontrado como hacer para que me vaya sumando el numero que va ir insertando, estuve revisando y con la propiedad identity es posible si mi campo Nopedido es del mismo tipo pero no es mi caso.

espero haberme dado a entender lo mejor posible.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

RE:Insertar modificando datos

Publicado por Leonardo Josue (1173 intervenciones) el 23/04/2010 21:36:12
Buenas Tardes Jorge. No sé qué manejador de BD estés utilizando, pero creo que en SQL Server podrías hacer algo como esto;

insert into pedidos select Nopedido + 99, cliente, valor, fecha from pedidos

Nota: el agregar 99 es para coincidir con los índices que manejas en tu ejemplo, pero sería un parámetro que tú puedes manejar en la consulta.

Saludos y espero que te sirva la ayuda.

Leo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Insertar modificando datos

Publicado por Jorge (3 intervenciones) el 23/04/2010 22:36:21
Gracias Leonardo, bueno te cuento de hecho si llevo un correlativo para estos pedidos, o sea debo de ir a tomar el ultimo que seria sencillo con un max(Nopedido) para el tipo de pedido que aqui no lo especifique pero si hago diferencia entre cada tipo de pedidos, y a este valor le voy sumando uno y pues mi punto es hacerlo con un query directo y no con while que ahi si lo hace, pues, pero mi duda es saber si hay algo que me lo haga directo con un query sencillo, aunque no tan sencillo como veo jejejejejeje

la cuestion es que como van varios registros en la consulta pues en este caso ya no me da la cabeza como hacerlo.

Gracias por tu apoyo, me contas si encontras algo.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar