SQL - Joins con multiples tablas y combinaciones

   
Vista:

Joins con multiples tablas y combinaciones

Publicado por Lucas (1 intervención) el 27/12/2011 16:46:55
Hola mi nombre es Lucas y estoy teniendo un problema con una query que estoy pasando de sql 2000 a sql 2005 para prepararnos para migrar.

El tema es que tengo una consulta que esta repleta de joins y en sql 200 era mas facil agrupar joins.

La consulta original es esta:


FROM GACI35.cmp35.COT1 COT1
, GACI35.cmp35.COT2 COT2
, GACI35.cmp35.COT3 COT3
, GACI35.cmp35.COT4 COT4
, GACI35.adm35.EMP EMP
, GACI35.ADM35.PRV PRV
, GACI35.CMP35.PRVEPRD PRVEPRD
, GACI35.CMP35.PGO1 PGO1
, GACI35.ADM35.COTMON COTMON
, GACI35.cmp35.SECC SECC
, GACI35.ven35.PRD PRD
WHERE COT1.Cot1Suc = COT2.Cot1Suc
AND COT1.Cot1Nro = COT2.Cot1Nro
AND COT1.Cot1Suc = COT3.Cot1Suc
AND COT2.Cot1Suc = COT3.Cot1Suc
AND COT2.Cot1Nro = COT3.Cot1Nro
AND COT2.Cot2Prv = COT3.Cot2Prv
AND EMP.EmpId = COT2.Cot2Prv
AND PRV.PrvId = COT2.Cot2Prv
AND PRVEPRD.PrvEEmp =* COT1.Cot1Suc
AND PRVEPRD.PrvEId =* COT2.Cot2Prv
AND PRVEPRD.PrdEId =* COT3.Cot3PrdId
AND PGO1.TrP1PgoId =* COT2.Cot2TrmPgo
AND COTMON.MonId = 3
AND COT1.Cot1Fch *= COTMON.CotMonFch
AND COT1.Cot1Suc = COT4.Cot1Suc
AND COT1.Cot1Nro = COT4.Cot1Nro
AND COT2.Cot2Prv = COT4.Cot2Prv
AND COT3.Cot3Item = COT4.Cot3Item
AND COT1.Cot1Sec = SECC.SecCCod
AND PRD.PrdId =* COT3.Cot3PrdId

ahora para pasarla a sql 2005 tengo que empezar a meter joins, hice algo pero me tiro que no encontraba al server GACI35, cuando este es una base, y que lo agregue en la sysservers.
Lo hice para probar y ahora me dice que sigue sin encontrar el servidor en la lista. Creeria que es un tema de agrupacion de los joins que estoy haciendo mal.

Asi deje los joins:

FROM GACI35.cmp35.COT1 COT1
join GACI35.cmp35.COT2 COT2
on COT1.Cot1Suc = COT2.Cot1Suc
AND COT1.Cot1Nro = COT2.Cot1Nro

join GACI35.cmp35.COT3 COT3
on COT1.Cot1Suc = COT3.Cot1Suc
AND COT2.Cot1Suc = COT3.Cot1Suc
AND COT2.Cot1Nro = COT3.Cot1Nro
AND COT2.Cot2Prv = COT3.Cot2Prv

join GACI35.cmp35.COT4 COT4
on COT1.Cot1Suc = COT4.Cot1Suc
and COT1.Cot1Nro = COT4.Cot1Nro
and COT2.Cot2Prv = COT4.Cot2Prv
and COT3.Cot3Item = COT4.Cot3Item

left join GACI35.ADM35.COTMON COTMON
on COT1.Cot1Fch = COTMON.CotMonFch

join GACI35.cmp35.SECC SECC
on COT1.Cot1Sec = SECC.SecCCod

join GACI35.adm35.EMP EMP
on COT2.Cot2Prv = EMP.EmpId

join GACI35.adm35.PRV PRV
on COT2.Cot2Prv = PRV.PrvId

left join GACI35.cmp35.PRVEPRD PRVEPRD
on COT1.Cot1Suc = PRVEPRD.PrvEEmp
and COT2.Cot2Prv = PRVEPRD.PrvEId
and COT3.Cot3PrdId = PRVEPRD.PrdEId

left join GACI35.cmp35.PGO1 PGO1
on COT2.Cot2TrmPgo = PGO1.TrP1PgoId

left join GACI35.ven35.PRD.PrdId
on COT3.Cot3PrdId = PRD.PrdId

where COTMON.MonId = 3

y el error es este:
Servidor: mensaje 6, nivel 16, estado 1, procedimiento LK_Compras_Analisis_Cotizaciones_, línea 3
No se encontró el servidor SQL Server especificado.


Espero puedan orientarme a resolverlo, mas que anda a como armar estos joins.

Gracias por adelantado, Lucas.
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