Consulta por Left Outer Join

02/07/2008 - 12:32 por Claudio | Informe spam
Hola,

entiendo que esta es una consulta basica, pero no la puedo resolver y por
eso la tiro aca. Quiero resolver en una misma consulta lo siguiente :

Select campo1,sum(tabla2.campo2),sum(tabla2.campo3) from tabla1 letf outer
join tabla2 on
tabla1.campo1=tabla2.campo1 where tabla2.estado<>'B'
group by campo1

el tema es que en la tabla2 pueden o no existir registros, pero igual debo
listar todos los que existen en tabla1. El tema es que existen registros en
tabla2 registros con Estado='A' y en lugar de sumarlos en el mismo registro,
me agrega en la consulta otro registro, supongo porque encuentra que mas
alla del group by, son registros distintos, por mas que para mi sean del
mismo tipo (campo1). Es decir , al agregar una condicion en el where sobre
campos de la tabla2, se me anula el Left Outer Join y no me trae aquellos
registros que solo existen en la tabla1, pero si la saco del Where, me trae
mas de un registro en lugar de uno solo donde tengo sumados los totales de
los campos 2 y 3 de la tabla2, porque el campo estado='A' me lo toma como
otro registro. Puedo resolver esto en una misma consulta ?
No se si he sido claro.

Gracias
Claudio

Claudio
"El hombre en su orgullo, creo a Dios, a su imagen y semejanza"

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
02/07/2008 - 16:08 | Informe spam
Trata:

Select
a.campo1,
sum(b.campo2),
sum(b.campo3)
from
tabla1 as a
letf outer join
tabla2 as b
on a.campo1 = b.campo1 and b.estado <> 'B'
group by
a.campo1
GO


AMB



"Claudio" wrote:

Hola,

entiendo que esta es una consulta basica, pero no la puedo resolver y por
eso la tiro aca. Quiero resolver en una misma consulta lo siguiente :

Select campo1,sum(tabla2.campo2),sum(tabla2.campo3) from tabla1 letf outer
join tabla2 on
tabla1.campo1=tabla2.campo1 where tabla2.estado<>'B'
group by campo1

el tema es que en la tabla2 pueden o no existir registros, pero igual debo
listar todos los que existen en tabla1. El tema es que existen registros en
tabla2 registros con Estado='A' y en lugar de sumarlos en el mismo registro,
me agrega en la consulta otro registro, supongo porque encuentra que mas
alla del group by, son registros distintos, por mas que para mi sean del
mismo tipo (campo1). Es decir , al agregar una condicion en el where sobre
campos de la tabla2, se me anula el Left Outer Join y no me trae aquellos
registros que solo existen en la tabla1, pero si la saco del Where, me trae
mas de un registro en lugar de uno solo donde tengo sumados los totales de
los campos 2 y 3 de la tabla2, porque el campo estado='A' me lo toma como
otro registro. Puedo resolver esto en una misma consulta ?
No se si he sido claro.

Gracias
Claudio

Claudio
"El hombre en su orgullo, creo a Dios, a su imagen y semejanza"



Respuesta Responder a este mensaje
#2 Claudio
02/07/2008 - 18:57 | Informe spam
perfecto ,

muchas gracias
Claudio

"Alejandro Mesa" escribió en el
mensaje news:
Trata:

Select
a.campo1,
sum(b.campo2),
sum(b.campo3)
from
tabla1 as a
letf outer join
tabla2 as b
on a.campo1 = b.campo1 and b.estado <> 'B'
group by
a.campo1
GO


AMB



"Claudio" wrote:

Hola,

entiendo que esta es una consulta basica, pero no la puedo resolver y por
eso la tiro aca. Quiero resolver en una misma consulta lo siguiente :

Select campo1,sum(tabla2.campo2),sum(tabla2.campo3) from tabla1 letf
outer
join tabla2 on
tabla1.campo1=tabla2.campo1 where tabla2.estado<>'B'
group by campo1

el tema es que en la tabla2 pueden o no existir registros, pero igual
debo
listar todos los que existen en tabla1. El tema es que existen registros
en
tabla2 registros con Estado='A' y en lugar de sumarlos en el mismo
registro,
me agrega en la consulta otro registro, supongo porque encuentra que mas
alla del group by, son registros distintos, por mas que para mi sean del
mismo tipo (campo1). Es decir , al agregar una condicion en el where
sobre
campos de la tabla2, se me anula el Left Outer Join y no me trae
aquellos
registros que solo existen en la tabla1, pero si la saco del Where, me
trae
mas de un registro en lugar de uno solo donde tengo sumados los totales
de
los campos 2 y 3 de la tabla2, porque el campo estado='A' me lo toma como
otro registro. Puedo resolver esto en una misma consulta ?
No se si he sido claro.

Gracias
Claudio

Claudio
"El hombre en su orgullo, creo a Dios, a su imagen y semejanza"






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida