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??...
 

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??...

Preguntas similares