Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/04/2007, 09:47
Avatar de Andres95
Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años, 2 meses
Puntos: 38
Re: oTRO select feo

Espero te sirva....

Código:
If object_id('tempdb..#tmp1') is not null drop table #tmp1
If object_id('tempdb..#tmp2') is not null drop table #tmp2

Create table #tmp1 (IdEmpresa int, IdOficina int, IdOrdenCompra int, Monto1 float, Monto2 float)
Create table #tmp2 (IdEmpresa int, IdOficina int, IdOrdenCompra int, Monto1 float, Monto2 float)


insert into #tmp1 (IdEmpresa, IdOficina, IdOrdenCompra, Monto1, Monto2) values(2,7,1,50, 0)
insert into #tmp1 (IdEmpresa, IdOficina, IdOrdenCompra, Monto1, Monto2) values(2,7,2,30, 0)
insert into #tmp1 (IdEmpresa, IdOficina, IdOrdenCompra, Monto1, Monto2) values(2,7,3,10, 0)


insert into #tmp2 (IdEmpresa, IdOficina, IdOrdenCompra, Monto1, Monto2) values(2,7,2,0, 50)
insert into #tmp2 (IdEmpresa, IdOficina, IdOrdenCompra, Monto1, Monto2) values(2,7,3,0, 20)
insert into #tmp2 (IdEmpresa, IdOficina, IdOrdenCompra, Monto1, Monto2) values(2,7,4,0, 60)


Select isnull(U.IdEmpresa,     D.IdEmpresa)     IdEmpresa
      ,isnull(U.IdOficina,     D.IdOficina)     IdOficina
      ,isnull(U.IdOrdenCompra, D.IdOrdenCompra) IdOrdenCompra
      ,Case When U.IdEmpresa is null Then D.Monto1 Else U.Monto1 End    Monto1
      ,Case When D.IdEmpresa is null Then U.Monto2 Else D.Monto2 End    Monto2
From   #tmp1  U
Full outer join
       #tmp2  D
On     U.IdEmpresa     = D.IdEmpresa      And
       U.IdOficina     = D.IdOficina      And
       U.IdOrdenCompra = D.IdOrdenCompra
Order by
      IdEmpresa
     ,IdOficina
     ,IdOrdenCompra
 


IdEmpresa   IdOficina   IdOrdenCompra Monto1  Monto2                                                
----------- ----------- ------------- ------- ------------
2           7           1             50.0    0.0
2           7           2             30.0    50.0
2           7           3             10.0    20.0
2           7           4             0.0     60.0

(4 row(s) affected)
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.