Generar consulta multitabla con sum

15/05/2008 - 16:12 por RP | Informe spam
Hola, bueno, pense mucho en volver a escribir al foro de SQL, peor acá lo
vuelvo a hacer:
Tengo las siguientes tablas:
carga (codigo, entidad)
entidad (codigo, nombre)
liquidacion (codigo, montoren, montoren1)
ftefto (codigo, abrev)

y necesito generar la siguiente consulta:

SELECT c.codigo, c.ref, e.nombre, c.fechcar, f.abrev, sum(l.montoren),
sum(l.montoren1), c.total
FROM cargdif c, liquidacion l, entidad e, ftefto f
WHERE c.entidad=e.codigo And c.ftefto=f.codigo

Pero al usar sum, me pide que utilice el Group By, para lo cual uso:

select c.codigo, c.ref, e.nombre, c.fechcar, f.abrev, sum(l.montoren),
sum(l.montoren1), c.total
from cargdif c, liquidacion l, entidad e, ftefto f Group By c.codigo, c.ref,
e.nombre, c.fechcar, f.abrev, c.total
WHERE c.entidad=e.codigo And c.ftefto=f.codigo

Pero me dice que hay sintaxis incorrecta cerca del Where

Como puedo realizar esa consulta??...

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
15/05/2008 - 17:39 | Informe spam
RP,

Cuando usas una funcion de agregacion en la clausula SELECT, todas aquellas
columnas que no toman parte en la funcion, deben participar en la clausula
GROUP BY. Esta clausula va despues de la clausula WHERE.

select
c.codigo, c.ref, e.nombre, c.fechcar, f.abrev, sum(l.montoren),
sum(l.montoren1), c.total
from
cargdif c, liquidacion l, entidad e, ftefto f
WHERE
c.entidad=e.codigo And c.ftefto=f.codigo
Group By
c.codigo, c.ref, e.nombre, c.fechcar, f.abrev, c.total

Pregunta?

como se relacionan el resto de las tablas referenciadas con las tablas
[liquidacion] y [ftefto]?


AMB




"RP" wrote:

Hola, bueno, pense mucho en volver a escribir al foro de SQL, peor acá lo
vuelvo a hacer:
Tengo las siguientes tablas:
carga (codigo, entidad)
entidad (codigo, nombre)
liquidacion (codigo, montoren, montoren1)
ftefto (codigo, abrev)

y necesito generar la siguiente consulta:

SELECT c.codigo, c.ref, e.nombre, c.fechcar, f.abrev, sum(l.montoren),
sum(l.montoren1), c.total
FROM cargdif c, liquidacion l, entidad e, ftefto f
WHERE c.entidad=e.codigo And c.ftefto=f.codigo

Pero al usar sum, me pide que utilice el Group By, para lo cual uso:

select c.codigo, c.ref, e.nombre, c.fechcar, f.abrev, sum(l.montoren),
sum(l.montoren1), c.total
from cargdif c, liquidacion l, entidad e, ftefto f Group By c.codigo, c.ref,
e.nombre, c.fechcar, f.abrev, c.total
WHERE c.entidad=e.codigo And c.ftefto=f.codigo

Pero me dice que hay sintaxis incorrecta cerca del Where

Como puedo realizar esa consulta??...

Respuesta Responder a este mensaje
#2 RP
15/05/2008 - 22:36 | Informe spam
Gracias por la explicación, en realidad no tenia muy en claro el uso del
Group By, aparte que es la primera vez que utilizo una función en una
consulta de multiples tablas, y con respecto a tu pregunta, si tengo relacion
en las tablas, lo que pasa es que para no hacer muy cargada la pregunte,
obvie el como se relacionan algunas tablas :)...

Gracias...

"Alejandro Mesa" wrote:

RP,

Cuando usas una funcion de agregacion en la clausula SELECT, todas aquellas
columnas que no toman parte en la funcion, deben participar en la clausula
GROUP BY. Esta clausula va despues de la clausula WHERE.

select
c.codigo, c.ref, e.nombre, c.fechcar, f.abrev, sum(l.montoren),
sum(l.montoren1), c.total
from
cargdif c, liquidacion l, entidad e, ftefto f
WHERE
c.entidad=e.codigo And c.ftefto=f.codigo
Group By
c.codigo, c.ref, e.nombre, c.fechcar, f.abrev, c.total

Pregunta?

como se relacionan el resto de las tablas referenciadas con las tablas
[liquidacion] y [ftefto]?


AMB




"RP" wrote:

> Hola, bueno, pense mucho en volver a escribir al foro de SQL, peor acá lo
> vuelvo a hacer:
> Tengo las siguientes tablas:
> carga (codigo, entidad)
> entidad (codigo, nombre)
> liquidacion (codigo, montoren, montoren1)
> ftefto (codigo, abrev)
>
> y necesito generar la siguiente consulta:
>
> SELECT c.codigo, c.ref, e.nombre, c.fechcar, f.abrev, sum(l.montoren),
> sum(l.montoren1), c.total
> FROM cargdif c, liquidacion l, entidad e, ftefto f
> WHERE c.entidad=e.codigo And c.ftefto=f.codigo
>
> Pero al usar sum, me pide que utilice el Group By, para lo cual uso:
>
> select c.codigo, c.ref, e.nombre, c.fechcar, f.abrev, sum(l.montoren),
> sum(l.montoren1), c.total
> from cargdif c, liquidacion l, entidad e, ftefto f Group By c.codigo, c.ref,
> e.nombre, c.fechcar, f.abrev, c.total
> WHERE c.entidad=e.codigo And c.ftefto=f.codigo
>
> Pero me dice que hay sintaxis incorrecta cerca del Where
>
> Como puedo realizar esa consulta??...
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida