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

tomar un campo del reguistro siguiente

Estas en el tema de tomar un campo del reguistro siguiente en el foro de SQL Server en Foros del Web. hola quisiera saber como puedo tomar una cantidad del campo de un reguistro si el primero no fue suficiente. tengo la siguiente tengo una tabla ...
  #1 (permalink)  
Antiguo 02/08/2008, 10:21
 
Fecha de Ingreso: mayo-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
tomar un campo del reguistro siguiente

hola quisiera saber como puedo tomar una cantidad del campo de un reguistro si el primero no fue suficiente.
tengo la siguiente tengo una tabla :


Cod_Prod Tipo_movi Cantidad Fecha_Movimiento Metodo
1111 Entrada 10 10/08/2008 Fifo
1111 Entrada 03 25/07/2008 Fifo
1111 Entrada 15 02/06/2008 Fifo
1111 Entrada 12 13/05/2008 Fifo

y la cuestion es la siguiente :
el usuario debe descontar la cantidad del primer reguistro pero si noes suficiente debe tomarlo del segundo.
me explico si necesita 10 la toma de primer reguistro pero cuando necesite 15 tome las dies del primero las 3 del segundo y las dos restantes del tercero y asi susecibamente dependiendo de la cantidad que solicite
Como pudo hacer esta consulta utilizando ADO.Net ??????????????????
  #2 (permalink)  
Antiguo 04/08/2008, 09:07
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: tomar un campo del reguistro siguiente

Podria ser algo asi:
Código:
create function fn_cantidad
(
    @cod_prod int,
    @cant_ped int
)
returns int
as

declare @cantidad int
declare @sum_cant int

declare cur_cant cursor for
    select cantidad
    from tabla
    where cod_prod = @cod_prod
for read only

open cur_cant
fetch next from cur_cant into @cantidad

set @sum_cant = cantidad
while @@fetch_status = 0
begin
    if @sum_cant >= @cant_ped
    begin
        /* Todo OK */
        return @cant_ped
    end
    fetch next from cur_cant into @cantidad
    set @sum_cant = @sum_cant + @cantidad
end

close cur_cant
deallocate cur_cant
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:50.