| |||
Re: Ayuda Chikos Con un Stored Hola Diana!. Creo que algo que le hace falta a tu pregunta es que expliques con datos de ejemplo que es lo que quieres hacer, para poder ayudarte. Porque leer tu SP es algo complicado y más sino conoces la estructura de las tablas. Saludos y suerte!! |
| ||||
Re: Ayuda Chikos Con un Stored Segun yo, seria algo como esto. Si existen indices para los campos de los joins, esto deberia correr muy rapido. Secuencias: NumFabrica, IdFolioOrigen, IDLGS ABFoliosPedidos : IdFolio ABAsignaciones : IdLGS
Código:
Declare @NumerosFabDupDifAsig table( Grupo1 smallint ,Secuencia1 smallint ,NumeroFabrica1 char(25) ,Origen1 char(3) ,Grupo2 smallint ,Secuencia2 smallint ,NumeroFabrica2 char(25) ,Origen2 char(3) ,Cuenta1 int ,Cuenta2 int) Insert into @NumerosFabDupDifAsig Select a.IdLGS IdLGS1 ,a.IdGrupo IdGrupo1 ,a.IdSecuencia IdSecuencia1 ,a.NumFabrica NumFabrica1 ,isnull(F1.IdCve, '0') Origen1 ,b.IdLGS IdLGS2 ,b.IdGrupo IdGrupo2 ,b.IdSecuencia IdSecuencia2 ,b.NumFabrica NumFabrica2 ,isnull(F2.IdCve,'0') Origen2 ,isnull(count(G1.IdAsigna),0) Cuenta1 ,isnull(count(G2.IdAsigna),0) Cuenta2 From Secuencias a (nolock) Inner join Secuencias b (nolock) On a.NumFabrica = b.NumFabrica And a.IdFolioOrigen = b.IdFolioOrigen And a.IdLGS <> b.IdLGS Left outer join ABFoliosPedidos F1 (nolock) On a.IdFolioOrigen = F1.IdFolio Left outer join ABFoliosPedidos F2 (nolock) On b.IdFolioOrigen = F2.IdFolio Left outer join ABAsignaciones G1 (nolock) On a.IdLGS = G1.IdLGS Left outer join ABAsignaciones G2 (nolock) On b.IdLGS = G2.IdLGS Order by a.NumFabrica, b.NumFabrica -------------------------------------------------------------------------------------- -- Aqui tengo duda: Segun yo, se debe seleccionar solo aquellos -- registros donde no exista correspondencia entre entre la pareja Grupo y Secuencia -- de ambas tablas. -- Es decir, si un grupo y secuencia de A1 se encuentra tambien en A2 ya no se muestra -- y viceversa. -------------------------------------------------------------------------------------- Select N1.* From @NumerosFabDupDifAsig N1 Left outer join @NumerosFabDupDifAsig N2 On N1.Grupo1 = N2.Grupo2 And N1.Secuencia1 = N2.Secuencia2 Left outer join @NumerosFabDupDifAsig N3 On N1.Grupo2 = N3.Grupo1 And N1.Secuencia2 = N3.Secuencia1 Where N2.Grupo2 is null And N3.Grupo1 is null And N1.Cuenta1 <> N1.Cuenta2 Un saludo y Feliz año nuevo a todos!
__________________ La sencillez y naturalidad son el supremo y último fin de la cultura... -- MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications. |