Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #20  
Antiguo 10-11-2011
abelg abelg is offline
Miembro
 
Registrado: jul 2004
Posts: 50
Poder: 20
abelg Va por buen camino
Hola, mira no se si comprendi bien pero con los datos que proporcionaste pude plantear esta solución, cree 2 tablas temporales solo para simular tus tablas y 1 que si la uso para el resultado. (esta en SQL Server) pero creo puede aplicarse la misma lógica en cualquier otro.

Código SQL [-]
Create table #cabecera (
  nro_tiket varchar(10),
  fecha     datetime,
  cod_trab  varchar(6)
)

create table #detalle (
        nro_tiket varchar(10),
        producto  varchar(5),
        cantidad  int,
        subvencion int,
)

create table #result(
        orden int identity(1,1),
  nro_tiket varchar(10),
  cod_trab varchar(6),
  fecha datetime,
  producto varchar(5),
  cantidad int,
  subvencion int
)


insert into #cabecera values ('0000000001', '2011-01-11', '000325')
insert into #cabecera values ('0000000002', '2011-01-11', '000245')
insert into #cabecera values ('0000000003', '2011-01-11', '000999')
insert into #cabecera values ('0000000004', '2011-01-11', '000245')
insert into #cabecera values ('0000000005', '2011-01-11', '002144')
insert into #cabecera values ('0000000006', '2011-01-11', '000325')

insert #detalle values('0000000001', '00001', 1, 0)
insert #detalle values('0000000002', '00001', 1, 0)
insert #detalle values('0000000003', '00001', 1, 0)
insert #detalle values('0000000004', '00001', 1, 0)
insert #detalle values('0000000005', '00001', 1, 0)
insert #detalle values('0000000006', '00001', 1, 0)

insert #result
Select c.nro_tiket,
       c.cod_trab,
       c.fecha,
       d.producto,
       d.cantidad,
       d.subvencion
from #cabecera c
    inner join #detalle d on c.nro_tiket = d.nro_tiket


update #result set subvencion = 1

update #result set subvencion = 0
where cod_trab in (Select rt.cod_trab 
                   from #result rt
                   where #result.orden > rt.orden and 
                   rt.cod_trab = #result.cod_trab and 
                   rt.fecha = #result.fecha)

Select *
from #result

Drop table #cabecera
Drop table #detalle
Drop table #result

Salu2, espero sea lo que buscas.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como actualizar registros!!! negrokau Varios 79 10-09-2011 04:32:21
actualizar registros stand Conexión con bases de datos 2 29-07-2010 10:10:24
actualizar registros pabloloustau Conexión con bases de datos 3 19-06-2010 20:40:39
dbedit que divida los caracteres individualmente juniorSoft OOP 2 27-11-2007 14:10:52
Actualizar Registros drkvergil Firebird e Interbase 3 12-09-2006 18:33:54


La franja horaria es GMT +2. Ahora son las 05:20:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi